久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32單片機串口接收一幀數據
[打印本頁]
作者:
sr861126
時間:
2021-6-24 17:08
標題:
STM32單片機串口接收一幀數據
串口接收數據幀,可以做通信協議
#include "sys.h"
#include "usart.h"
#define len 5 //數組長度
#define a PCout(13)
u8 rx_buff[8];//接收緩存
u8 rx_done =0;//接收完成標志
u8 rx_cnt=0;//接收數據長度
u8 rx3_cont=0;
u8 rx3_done=0;
u8 rx_data[7];//復位與步進接收緩沖區數據
u8 stop_data[7];
u8 num=0; // 字節數
u8 buf[5]; //接收緩沖,最大9個字節.
void MAX485_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
a=1;
}
void USART1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能串口GPIO的時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//使能串口外設的時鐘
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;//將USART1 Tx的GPIO配置為推挽復用模式
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//將USART1 Rx的GPIO配置為浮空輸入模式
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO_InitStructure);
USART_InitStructure.USART_BaudRate=115200;//配置波特率115200
USART_InitStructure.USART_WordLength=USART_WordLength_8b;//配置數據字長8bit
USART_InitStructure.USART_StopBits=USART_StopBits_1;//配置停止位1bit
USART_InitStructure.USART_Parity=USART_Parity_No;//校驗位無
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//硬件流控制無
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;//同時收發模式
USART_Init(USART1,&USART_InitStructure);//完成串口的初始化配置
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//嵌套向量中斷控制器組選擇
NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;//配置USART為中斷源
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//搶斷優先級
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//子優先級
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//使能中斷
NVIC_Init(&NVIC_InitStructure);//初始化配置NVIC
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//使能串口接收中斷
//USART_ITConfig(USART1,USART_IT_IDLE,ENABLE);//空閑中斷使能
USART_Cmd(USART1,ENABLE);
}
void USART1_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)//接收到一個字節,進入一次接收中斷
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除接收中斷標志
res=USART_ReceiveData(USART1);//將接收的數據存入rx_buff中
if(num>0)
{
buf[num]=res;
num++;
}
else if (res==0xc1) // 包頭
{
buf[0]=0xc1;//前面寫進,后面才能讀
num=1;
}
if(num>=len)
{
num=0;
if(buf[(len-1)]==0x0d) // 判斷包尾
{
if(buf[0]==0xc1) a=0;
else
a=1;
if(buf[1]==5)
{
a=1;
}
}
}
}
}
復制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
911看片
|
中文字幕无人区二
|
免费a在线
|
亚洲日本中文字幕
|
国产一区二区在线播放
|
色哟哟一区二区三区
|
成人自拍视频在线观看
|
欧美高清在线
|
一区二区三区免费
|
欧美视频一二三区
|
久久成人精品
|
青青草视频在线观看
|
久久久精品在线
|
日本不卡中文字幕
|
毛片网站免费
|
欧美在线一级
|
人人草av
|
亚洲黄色影院
|
a级片在线观看
|
日韩资源在线
|
欧美日韩亚洲视频
|
精品一区二区三区免费
|
天天艹夜夜艹
|
99re在线观看视频
|
丝袜美腿亚洲综合
|
国产精品成人一区二区网站软件
|
中文字幕在线观看一区二区
|
黄色国产
|
日本视频免费
|
成人视屏在线观看
|
日韩色网站
|
一区二区三区成人
|
欧美18免费视频
|
日韩1区2区
|
中文字幕永久在线
|
aaa国产精品
|
亚洲午夜激情
|
亚洲免费视频观看
|
99视频网站
|
日本三级久久
|
国产精品成人一区
|