永发信息网

c8051F340单片机问题

答案:2  悬赏:20  手机版
解决时间 2021-01-14 15:18
  • 提问者网友:最美的风景
  • 2021-01-13 14:50
c8051F340单片机问题
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-01-13 15:46
counts是有符号数,-相当于counts取反,对于cpu来说只有,0,1没有+-号。

你可以在void Timer2_Init (int counts)函数里,加一个临时变量调试一下:
unsigned int TMP=0;
TMP=-counts;

TMP=counts;

断点看看两次TMP的值是不是一样。

TMR2RL 为无符号整数,只认0,1,不认正负。追问那我把countts定义为无符号的unsigned int,还是实现不了一秒闪5次呀追答不能实现1秒闪5次,就说明你设置的值不对。

不带负号的话,TMR2RL=0x30D4(12500),
带负号的话,TMR2RL=0xCF2C(53036)
全部回答
  • 1楼网友:鱼忧
  • 2021-01-13 17:20
该方式是int形的。打比方00000001是1,负的它是我去,计算然后把宽度逐渐减小啊。你没理解PWM吧。程序没具体看,个人意见追问跟PWM没关系...我已经知道那个负号是什么意思了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯