我用CC2530做了一个数字量远程遥控,其它所有的功能都能实现,就是在给2530上电的瞬间,遥控的继电器要吸合1~2秒再断开,我用的是P1—2,IO设置也是对的,这是什么原因,我该怎么办?
YiKai Chen:
P1.2在CPU reset後預設是gpi所以一直直到你的程序可以把P1.2設置gpo遥控的继电器需要一些時間、這部份軟件無能為力、你可能需要把P1.2的控制電路反相來解決這個問題
user4790794:
回复 YiKai Chen:
谢谢你!可不可以在程序一启动,就将gpi设置成gpo,不需要等协议栈都启动起来再设置.
YiKai Chen:
回复 user4790794:
就算程序一启动,就将gpi设置成gpo應該還是會有继电器要吸合再断开的問題、只是時間會縮短一小點
user4790794:
回复 YiKai Chen:
从原理上分析,如果在main()函数里面开始就设定gpio,输出为高电平应该是毫秒级,在STM32和51单片机都不会出现这个问题
da qin zheng sheng:
不用zigbee通信和其它功能,只编一个io口测试对比一下!
Susan Yang:
回复 user4790794:
您可以尝试在HAL_BOARD_INIT内进行设定试试,但个人更倾向于YiKai Chen的通过控制電路反相來解決這個問題
Viki Shi:
回复 user4790794:
是不是电路有延时,比如说电容选大了?继电开关一般需要电容滤波电路
Viki Shi:
回复 user4790794:
上电初始化后就直接驱动开关的引脚,延时应该很短的。你可以用示波器测量,在驱动引脚的位置设置断点debug,看输出信号是否有延时,用以排除芯片本身的延时
xin zheng:
按照YiKai Chen 的提示可以的。
这个问题软件改不了的,必须调整硬件。
一个IO做反向,一个是电源做延时