新大陆物联网Lora-nb 串口 接收发送数据

  我们能够学会我们原来不懂的东西。我们不但善于破坏一个旧世界,我们还将善于建设一个新世界。你出来时,肯定和原单位办了脱离关系的手续,极有可能连人际关系都因出国搞僵了。你把你的后路断了,等于破坏了一个旧世界。但别伤心,别后怕。你完全能够建立一个新世界的。——毛泽东

    实现了lora-nb的串口接收与发送。代码参上,注释已经备好,放心观看


/**

  ******************************************************************************

  * File Name          : main.c

  * Description        : Main program body

  ******************************************************************************

  */

#include <string.h>

#include "board.h"

#include "hal_key.h"

#include "tim-board.h"

#include "timer_handles.h"

#include "usart1-board.h"///////////串口必须头文件

void Init() {

    BoardInitMcu();

    BoardInitPeriph();

    keys_init();//按键初始化

    setTimer2Callback(Time2Handler);

    Tim2McuInit(1);//定时器初始化,设置定时中断1ms中断一次

USART1_Init(9600);///串口初始化,波特率9600

}

/**

* Main application entry point.

*/

int main( void )

{

    Init();

char shuju[11];//接受串口所需要的数据。

    while( 1 )

    {

if(isKey2Pressed()){//按键2

resetKey2();

USART1_SendStr("你好",4);////串口发送函数,一个中文占两个字节

//串口发送也可以进行赋值

/*

比如

int a=999;

sprintf(shuju,"%d",a);

int sl=strlen(shuju);

USART1_SendStr(shuju,sl);

发送数字数据

shuju[0]=0x01;

shuju[1]=0x02;

USART1_SendStr(shuju,2);

发送16进制数据

*/

}

shuju[0]=USART1_ReceiveData();////串口数据赋值给shuju[0];

int sl=strlen(shuju);////获取数据数据有几位,作为判断条件,而不是一直判断

if(sl!=0){////判断是否接受到

if(shuju[0]==0x01){////判断16进制的数据,是的话开灯。

GpioWrite( &Led1, 0 );

}

}

    }

}



所使用的的库函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容