[PIC®/AVR®/dsPIC®产品] 在使用MPLAB X IDE(XC8编译器)时候的疑问

[复制链接]
 楼主| tree844 发表于 2022-2-9 09:40 | 显示全部楼层
labasi 发表于 2022-2-4 19:30
直接做除法太耗费资源

但是我先单独做除法再赋值却没有问题。
锵才才 发表于 2022-2-9 10:32 | 显示全部楼层
你的XC8是什么版本,建议下载最新的XC8

评论

@tree844 : 我用2.32做软仿真,结果是对的  发表于 2022-2-14 10:56
2.30  发表于 2022-2-10 16:21
无善无恶心之体 发表于 2022-2-9 10:36 | 显示全部楼层
试试
TMR1H =(65535 - F) >> 8;
TMR1L = (65535 - F)  & 0xff;
wooda 发表于 2022-2-9 12:32 | 显示全部楼层
这里有2个问题,一个是赋值进入TIMRH时候,timer是否在走,如果在走,那么调试器能不能抓到赋值瞬间的值,是需要打问号的,----这个问题的**方法是跳到汇编代码去单步,在最后赋值到TIMRH这一步直接看源寄存器值
另外一个问题就是题主怀疑的unsigned int的计算问题,这个我之前的破节方法是建立一个结构体,直接处理unsigned int和2个unsigned char的转换
ynwa 发表于 2022-2-9 16:48 | 显示全部楼层
tree844 发表于 2022-1-20 14:50
赋值过程中,这个计算结果就是不对的。我也觉得可能是你说的这样,但是从C语言的语法上来说,这样有什么 ...

语法上没什么不对,但是你也要考虑数据类型的影响。不同数据类型的长度不同,也会影响结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部