Part Number:CC1312R
Ti大神好:
请教一个问题,我们正在使用gpio拉高拉低测试一个硬件问题
我创建了空白项目,其中初始化了IO9和IO1 ,.在while循环中拉高两个引脚然后延迟一秒再拉低,这样可以控制led灯进行闪烁,如图
可是我下载代码发现led灯常亮,可是我在debug的时候在while循环中设置断点,单步调试(F6) 是可以正常闪烁的, 但是如果不设置断点 让代码自己跑,就会出现led常量的情况,
即使将sleep 函数改为上面的循环也不行
优化等级已经设置为0,这种情况应该怎么解决
faker wang:
使用的开发板
,
faker wang:
使用这个方法切换就可以GPIO_toggle
,
Galaxy Yue:
您好,
你试一下 使用定时器来实现精确延时
你需要先创建定时器 (可以参考这个方法)
https://e2echina.ti.com/support/machine-translation/mt-sub-1-ghz/f/mt-sub-1-ghz-forum/406676/ccs-cc1312r-timer_params—gt
然后
就像您下面说的 切换指定引脚上的LED状态 利用toggle
,
Galaxy Yue:
// //======== gpioButton0Fxn ======== //Callback function for the GPIO interrupt on CONFIG_GPIO_BUTTON0 // //Note: index is the GPIO id for the button which is not used here // void gpioButton0Fxn(uint_least8_t index) {// Toggle the LEDGPIO_toggle(CONFIG_GPIO_LED0); }
,
faker wang:
您好,我任务不是sleep的问题,我如果使用一个普通的for循环空跑一会儿,也会存在电平不切换
,
faker wang:
但是我在debug仿真的时候,单步执行是可以切换led的开关的
,
faker wang:
是代码的问题,已经找到了
,
Galaxy Yue:
好