|
发表于 2019-8-23 11:09:40
|
显示全部楼层
我仔细想了一下,发现觉得那个发射函数部分还是用两个NOP的好。
这样才更符合时序。用分号的话,时间估计刚刚好,有可能会偶尔按键触发了也没作用。不过基本不会,你到时先试试。可以就按我前面那样写。毕竟那样要快一点。不行就把这个复制上去就好了。
#include "intrins.h"
void nop(void)
{
_nop_();
_nop_();
}
void send_16data(u16 Data,u8 MODO)
{
u8 i;
CLK=0;
CE=0;
CE=1; //连续保存高电平,可输入数据
for(i=11;i>0;i--)
{
DA=Data & 0x01; //传输BH1415F2个字节频率控制11位D0-D10频率数据
Data>>=1;
nop();
CLK=1;
nop();
CLK=0;
}
DA=MODO;
nop();
CLK=1; //MONO
nop();
CLK=0;
nop();
DA=0;
nop();
CLK=1;
nop();
CLK=0;
nop();
DA=0;
nop();
CLK=1;
nop();
CLK=0;
nop();
DA=1;
nop();
CLK=1;
nop();
CLK=0;
nop();
DA=0;
nop();
CLK=1;
nop();
CLK=0;
CE=0; //输入数据结束
}
|
评分
-
1
查看全部评分
-
|