文章目录
前言
一、commInit();
二、队列
总结
前言
之前(1/9)写成遥控器的led灯初始化了。
本文进行(2/9)NRF51822 通讯模块的初始化学习。
一、commInit();
void commInit(void)
{
if (isInit) return;
radiolinkInit(); /*无线通信初始化*/
usblinkInit(); /*USB通信初始化*/
isInit = true;
}
void radiolinkInit(void)
{
if (isInit) return;
//到这里疑惑了 为什么无线通讯扯上串口通讯了
//看了硬件资源才明白 NRF51822通过串口U2连接到MCU上 作机载通讯及电源检测设备
uartslkInit(); //这里不用进去看懂 就是串口初始化 明白是哪个串口 波特率 以及 GPIO即可
//主要是要看懂这个
//第一个参数是指队列能够包含的最大项目数 第二个是每个项目的字节数
//这里是 包含30个项目 每个项目atkp_t 是32个字节 ID + LENTH +DATA[30]
//暂未跟进函数体看如何判断是否创建成功 这里猜想就是分配一个空间用作串口队列通信 如果成功分配就是成功
//发现usb里面同样使用这个函数 可能这是队列相关 并不是串口初始化专用 白天学习一下
txQueue = xQueueCreate(RADIOLINK_TX_QUEUE_SIZE, sizeof(atkp_t)); //返回是否创建成功
ASSERT(txQueue);
isInit = true;
}
void usblinkInit()
{
if(isInit) return;
usbd_cdc_vcp_Init();
/*同 串口初始化 格式*/
txQueue = xQueueCreate(USBLINK_TX_QUEUE_SIZE, sizeof(atkp_t));
ASSERT(txQueue);
isInit = true;
}
1:55 宿舍
October 21, 2020
二、队列(F4开发手册第13章节)
总结