采用stm32cubemx生成freertos的bug分析
如图中所示,设置为1000的时候没有问题。
magnbudie 发表于 2015-1-14 13:34
如图中所示,设置为1000的时候没有问题。
编译后,没有问题。 当把频率改为10000时候。编译后会出现除数为零的错误。 magnbudie 发表于 2015-1-14 13:36
当把频率改为10000时候。编译后会出现除数为零的错误。
错误如图所示! 上生成的错误代码 品读记忆 发表于 2015-1-14 13:53
上生成的错误代码
按照ST官方研讨会的说法,代码生成成功率很高的。这种错误怎么能有呢?附件为.ico配置文件
我把被注释的语句注释替换后,问题消失。但是反观ST的代码,预编译时候,已经进行过强制转换,按道理没错啊,不应该出现这样的警告的,求原因
设置成10000?楼主太高估单片机的能力了。你设置成10000,就是要设置成100us进一次tick中断,OS进行一次任务调度,先不说软件的问题,MCU硬件能处理得了吗?
再看软件的问题。ST的代码是做强制类型转换了,没错,但是它转换成的是无符号整型数。那个宏定义展开后就成 1000 / 10000 了,其结果肯定是0了。这个结果再用来分频滴答时钟自然会出现除数为零的错误。 另外,你把值改成0.1后,虽然编译没有问题,但是程序能正常运行吗?
页:
[1]
2