TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1312R: 延迟函数问题

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:

Thumbsup

赞(0)
未经允许不得转载:TI中文支持网 » CC1312R: 延迟函数问题
分享到: 更多 (0)