原创 使用查询状态方式的LORA应用编程

2020-5-29 16:01 440 19 2 分类: MCU/ 嵌入式

厂家提供的例程,OnMaster OnSlave 结构完全一样。

void OnMaster( void )

{

    uint8_t i;

    switch( Radio->Process( ) )

    {

    case RF_RX_TIMEOUT:

……

        break;

    case RF_RX_DONE:

  …

      break;

    case RF_TX_DONE:

        break;

    default:

        break;

    }

}

 

void OnSlave( void )

{

    uint8_t i;

 

    switch( Radio->Process( ) )

    {

    case RF_RX_DONE:

 ….

       break;

    case RF_TX_DONE:

        break;

    default:

        break;

    }

}

很奇怪,所提供的函数里只有启动接收 Radio->StartRx( ),没有启动发射。硬件里收发不能同时进行,也就是说芯片工作在半双工状态。

如果要发送,直接随时Radio->SetTxPacket( Buffer, BufferSize )如果要检测是否收到数据,只要检查Radio->Process( )的状态,如果为 RF_RX_DONE:时,使用    Radio->GetRxPacket( Buffer, ( uint16_t* )&BufferSize );就可以获得数据。

在例子程序中有三个主要的状态可以使用

RF_RX_TIMEOUT

RF_RX_DONE:

RF_TX_DONE:

顾名思义,分别在接收超时,接收到,发送完下分别做一些处理。

比如说,如果需要做一个应答式的收发控制。

初始化完成后。运行Radio->StartRx( );让设备处于接收状态。

对于控制方,发出命令后,在RF_TX_DONE 里面启动接收。在RF_RX_TIMEOUT 下面重新发送命令,并计数命令重复发送的次数。

RF_RX_DONE里面获取收到的数据,并判断是否正确。

对于受控一方,在RF_RX_DONE里面获取数据,判断是否符合要求。如果符合要求,发出应答数据。在RF_TX_DONE 里启动接收。

OnMaster( )  OnSlave( )

需要重复运行。实现应答。对于一对多的收发控制也可以采用类似的程序结构。

对于其它功能,可以灵活使用这些状态,关键是要搞清楚,出现这些状态时,应该如果操作。

作者: southcreek, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-408807.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
相关推荐阅读
southcreek 2020-06-14 08:35
2020-06-14
需要有大量的按键的地方,可以使用行列式键盘。为简化设置,可以把行线与列线直接连到MCU口线上。当然也可以使用专门的芯片。行列式键盘可以用较少的口线完成很多按键的识别。常规的驱动方式是:将行设置成输出,...
southcreek 2020-05-10 15:09
DMA输入捕获红外线解码
DMA 方式,TIM输入捕获,红外线解码 当前系统时钟为48MHz 将预分频到0.1mS 也就是除4800。 DMA 打开,设置为存储器增加。模式可以用线性模式,更加方便。 定义一个...
southcreek 2019-12-18 09:31
STM32DAC 输出控制
输出可以选择输出缓冲或不缓冲。  sConfig.DAC_Trigger = DAC_TRIGGER_NONE;  sConfig.DAC_OutputBuff...
southcreek 2018-07-06 16:54
输液泵注射泵喇叭图的理解和生成
以下是9706.27上的定义:流速 r 由操作者选择的输液速度流量 flow 单位时间内测得的输出容量丸剂 bolus 作为一次注人但不属于灌注程序的一部分,在短时间内传输的液体的离散量。取样间隔 5...
southcreek 2017-06-15 11:29
STM32 输出多路不同频率的脉冲
一个定时器产生多个频率输出 使用一个tim产生20KHz的定时中断。将需要输出的速度设定好,每次将设定的速度与上一次的结果取模累加,结果大于等于10000则取反输出。 每个通道使用一个结构体,里面包含...
广告
EE直播间
更多
我要评论
0
19
广告
关闭 热点推荐上一条 /5 下一条