代码片段可以这么写:
……int i;
u8 a[20][20];
for(i=0;i<20;scanf("%d",a[10]+i++));
……t和len两个变量,都应该定义成u16。
这是因为USART_RX_STA&0x3fff的计算结果最多需要14个bit,u8只有8bit,在大长度的时候会有问题。
如果写程序的人知道长度不超过8bit,那么用u8是可以的。不应该这样编写程序。
u8是unsigned char,u16是unsigned short。
u8,u16是C语言数据类型,分别代表8位,16位一个字节是8位,所以u8是1个字节,u16是2个字节。
例如:
void TIM3_Int_Init(u16 arr,u16 psc)
{
//do something
}
扩展资料:
注意事项
stdinth 这里放着C语言的标准表达方式//第36行开始
typedef signed char int8_t; // 标准表达方式 signed char 被等同于 int8_t;
typedef signed short int int16_t;
typedef signed int int32_t;//在32位环境里,int代表4个字节32位!
typedef signed __int64 int64_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;
stm32f10xh 这个文件主要是为了兼容旧版本
typedef uint32_t u32;///32位
typedef uint16_t u16;///16位
typedef uint8_t u8;///8位
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)