你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
查看全部评分
toofree 发表于 2018-10-19 12:51 数据类型,只要不超过32位,就不需要关心。8位机,最大能表示的数据只有32位的。 经测试,没发现有影响Flow ...
sincomaster 发表于 2018-10-19 15:13 toofree大神好!我有点疑问? 如说得不对请见谅(我是初学者) 这三个延时函数都是形参,相当于赋值运算,100刚 ...
评分
查看全部评分
经测试,没发现有影响Flow变量的情况发生。
至于判断数据类型,你完全没必要关心。类型不同,无论是否隐性转换,只与程序执行的指令条数有关系。
下面写了三个延时函数,都可以延时。C代码完全相同,参数类型不同,因此编译结果不同。
假如要延时时100,那么Delay8(100)、Delay16(100)、Delay32(100),都可以执行,都能起到延时的效果,但是Delay8(100)用时最短。
评分
查看全部评分
toofree大神好!我有点疑问?
如说得不对请见谅(我是初学者)
这三个延时函数都是形参,相当于赋值运算,100刚好在u8类型内,不超过255都没问题,
但楼主的是双目比较运算,左值是u16类型,右值是常数,经过分析他也发现右值不超过32767就没问题,不会调用类型转换,所以我不明白常数在COSMIC编译器是什么类型,
一个带了符号 另外一个就强制带符号了
(我瞎说的)
随便找一段库里面的常数宏
#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
#define TICK_INT_PRIORITY ((uint32_t)0x00U) /*!< tick interrupt priority */
#define USE_RTOS 0U
#define PREFETCH_ENABLE 0U
#define ART_ACCLERATOR_ENABLE 0U /* To enable instruction cache and prefetch */
评分
查看全部评分
一般的编译器,没有特别修饰的情况下,常数都是有符号整型。
2,编译器优化了,试试加volatile
评分
查看全部评分
你的这个案例还真是给上了一课。
另外没看到你说的影响到flow的问题。
评分
查看全部评分