一段执行无误的C语言串口发送,为什么定义是u8,用按照u16还没问题呢?是不是定义为u16也不会有问题?
答案:1 悬赏:70 手机版
解决时间 2021-04-06 19:59
- 提问者网友:末路
- 2021-04-06 12:14
一段执行无误的C语言串口发送,为什么定义是u8,用按照u16还没问题呢?是不是定义为u16也不会有问题?
最佳答案
- 五星知识达人网友:山君与见山
- 2021-04-06 12:38
t和len两个变量,都应该定义成u16。
这是因为USART_RX_STA&0x3fff的计算结果最多需要14个bit,u8只有8bit,在大长度的时候会有问题。
如果写程序的人知道长度不超过8bit,那么用u8是可以的。不应该这样编写程序。
这是因为USART_RX_STA&0x3fff的计算结果最多需要14个bit,u8只有8bit,在大长度的时候会有问题。
如果写程序的人知道长度不超过8bit,那么用u8是可以的。不应该这样编写程序。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯