嵌入式C语言中常用类型前缀
| 数据类型 | 前缀 |
|---|---|
| uint8_t | uc |
| int8_t | c |
| uint16_t | ui |
| int16_t | i |
| uint32_t | ul |
| int32_t | l |
| 普通指针 | p |
| 函数指针 | fn |
| 数据类型 | 前缀 |
|---|---|
| uint8_t | uc |
| int8_t | c |
| uint16_t | ui |
| int16_t | i |
| uint32_t | ul |
| int32_t | l |
| 普通指针 | p |
| 函数指针 | fn |
__xdata volatile int var0;
__xdata volatile int var1 = 1;
void main(void) {
// 功能代码
}以上这个简单到发指的程序,在STC8A8K64U中遇到个奇怪问题:var0的初始值有时候不是0,而var1的初始值也不是1,是一些奇怪的随机值。
第一感觉就是XRAM的初始化可能存在BUG,于是稍微了解了一下SDCC中XRAM初始化的原理,没想到还真发现了一些好玩的东西,给大家做个分享。
抛开USB协议本身的结构数据之外,通用USB键盘鼠标的数据包相当简单。USB键盘每次发送八个字节,而USB数据每次发送四个字节。