我使用keil 进行模拟调试,读取sbuf 中的数据,我在 Serial channel 中将RI 选上,然后将SBUF 赋值 0x0f
然后程序产生中断,执行 redata = sbuf ,调试发现sbuf 为0x0f 但是 赋值之后,redata 还是0x00,问问大家,这是神马原因,
------解决方案--------------------
不能这样吧,SBUF和普通RAM不一样,你赋值后再读出来就不一定是你赋值的那个值
------解决方案--------------------
我一般都是硬件仿真的
软件仿真不知道retarget.c里有没有类似getchar()之类的函数
------解决方案--------------------
串口是否配置好了,包括波特率,奇偶校验,数据位等是否配置好。
------解决方案--------------------
在keil的调试命令窗口中输入:
SBUF=0x05;
------解决方案--------------------
Sorry, 应该是:
SIN=0x05;