单片机数据透传转发设计及从机SPI通信

    本文地址:http://tongxinmao.com/Article/Detail/id/115

    使用环形FIFO保存接收数据


    FIFO访问时要关中断进行资源保护


    接收要判断缓冲是否快满,能容纳最后一包时要通知发送方暂停(如果发送方没有流控机制只能丢数据)


    发送方如果缓冲中数据量太小可以暂时不发以提高通信效率,但重测N次后都是这么小那就可能是最后的少量数据,这时就要发了


    如果硬件有DMA就用来代替中断提高速度



    硬件接口(兼容3V3 5V):

    MO M1模式: 定频透传 跳频 体眠 配置  测试模式

    AUX: 指示模块状态

    RXD TXD (可配置为漏极开路戒推挽输出)

    VCC GND


    特性:

    自动跳频

    不限包长 不间断传输

    数据加密及压缩

    无线IO




    指令:

    查询设置参数  恢复默认设置  

    设置内容:

    模块参数(ID 信道 工作模式 发射功率 空中速率 串口参数  定点发送使能)



    跳频: 低中高各选某一频道作为跳频序列,快速建立起握手信道后保持在定频模式中,遇到同频干扰后自适应快速跳到无干扰频道

    http://www.chinaaet.com/article/189790




    SPI从机通信:

    主循环中当SPI没有数据在发送时,将要发送的数据数量放置到预设寄存器中(如果没此寄存器第一个字节作为数据数量)(注意不要在片选有效后修改预设寄存器)


    主机片选后读取第一个字节(从机要发送的数据数量),然后循环N次读取全部数据,最后置高片选.两次读之间要加一点延时让从机有足够时间填充数据.


    从机SPI中断填,如果要发送的数据量大于0则填充要发送的数据,将数据量减1.

    上一篇:USB复合设备(CDC+HID)描述符
    下一篇:编程器设计