unsigned char xdata b ;
unsigned char xdata dat_tep[24] ;
dat_tep[13] = 0x27 ;
b = ((dat_tep[13] >> 4) * 8) + dat_tep[13] & 0x0f ;
结果b = 7 ;正确为23才对.
如果改成
b = ((dat_tep[13] >> 4) * 8);
b += dat_tep[13] & 0x0f ;
结果b = 23 ;
想不明白为什么用前一个表达式结果会出错,难道51不能用此表达式?还是我有些问题没注意到?请大虾们指教
打赏帖 | |
---|---|
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 | |
【分享开发笔记,赚取电动螺丝刀】使用ESP32S3调试I2S音频模块MAX98357被打赏22分 | |
【Freertos】任务管理被打赏10分 |