久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
關于STM32 CAN通訊接受數(shù)據(jù)問題,內(nèi)有代碼與說明
[打印本頁]
作者:
dumn
時間:
2019-8-6 10:04
標題:
關于STM32 CAN通訊接受數(shù)據(jù)問題,內(nèi)有代碼與說明
大大們好,最近在擼關于CAN總線那些事,現(xiàn)在對于CAN的接受數(shù)據(jù)有一些不懂,如果我只接收數(shù)據(jù),例如來自汽車的CAN數(shù)據(jù),根據(jù)接收的數(shù)據(jù),來做一些功能的話,那么我的接收函數(shù)應該配置勒,下面是一些自己寫的代碼配置,接收一位數(shù)據(jù)并將其保存在一個緩沖區(qū),有什么問題,請多多指!
void CAN_RCC_Config(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1,ENABLE);
}
void CAN_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_PinRemapConfig(GPIO_Remap1_CAN1,ENABLE);
}
void CAN_NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN1_RX0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void CAN_Config(void)
{
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;
CAN_DeInit(CAN1);
CAN_StructInit(&CAN_InitStructure);
CAN_InitStructure.CAN_TTCM = DISABLE;
CAN_InitStructure.CAN_ABOM = DISABLE;
CAN_InitStructure.CAN_AWUM = DISABLE;
CAN_InitStructure.CAN_NART = DISABLE;
CAN_InitStructure.CAN_RFLM = DISABLE;
CAN_InitStructure.CAN_TXFP = ENABLE;
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
/* CAN Baudrate */
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
#if 1 // 125K
CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 32;
#endif
#if 0 // 250K
CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 16;
#endif
#if 0 // 500K
CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 8;
#endif
#if 0 // 1MBps
CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_5tq;
CAN_InitStructure.CAN_Prescaler = 4;
#endif
CAN_Init(CAN1,&CAN_InitStructure);
CAN_FilterInitStructure.CAN_FilterNumber=1;
CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh=0 ;
CAN_FilterInitStructure.CAN_FilterIdLow=0 ;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0 ;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0 ;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment= 0 ;
CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
/* CAN FIFO0 message pending interrupt enable */
CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);
}
void USB_LP_CAN1_RX0_IRQHandler(void)
{
CanRxMsg RxMessage;
CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);
RxMessage.StdId = 0 ; //選擇標準ID
RxMessage.ExtId = 0 ; //選擇擴展ID
RxMessage.IDE = CAN_ID_STD; //選擇接收標準幀
RxMessage.DLC = 1 ; //將接收數(shù)據(jù)長度
RxMessage.RTR = CAN_RTR_DATA ; //選擇接收數(shù)據(jù)幀
CAN_Receive(CAN1,CAN_FIFO0, &RxMessage); //接收FIFO0數(shù)據(jù)
if(Rx_flag == 0)
{
if(RxMessage.DLC == 1)
{
CAN_RX_BUF[0] = RxMessage.Data[0]; //將接收的數(shù)據(jù)保存進緩沖區(qū)
}
}
}
u8 CAN_GetMsg(u8 *msg)
{
if(Rx_flag == 1)
{
*msg = CAN_RX_BUF[0] ;
Rx_flag = 0;
return 1;
}
else
return 0;
}
void Clear_CanBuffer(void)
{
Rx_flag = 0; //清楚接收標志位
memset(CAN_RX_BUF, 0 ,sizeof(u8)*CAN_RX_LEN); //清空緩沖區(qū)
}
u8 Check_CanRx(void)
{
return (Rx_flag == 6);
}
作者:
361259400
時間:
2023-4-24 08:55
啥是沒有看見文件
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精彩视频
|
成人在线国产
|
国产三级在线播放
|
日韩一区二区在线观看视频
|
9l视频自拍九色9l视频成人
|
www.国产
|
黄色大片视频
|
男人的天堂久久
|
懂色av懂色av粉嫩av
|
黄色片视频在线观看
|
日韩1级片
|
日日舔
|
91av视频在线播放
|
欧美成人精品一区二区三区在线看
|
亚洲性生活片
|
免费观看a级片
|
中文字幕免费视频
|
日韩精品福利
|
免费看黄色一级片
|
亚洲视频网
|
永久免费看片在线播放
|
国产综合自拍
|
制中文字幕音影
|
国产精品视频免费在线观看
|
亚洲第一黄色
|
91美女网站
|
国产中文字幕在线
|
欧美三级又粗又硬
|
特黄一级片
|
久久精品国产视频
|
日韩一区二区三区免费视频
|
香蕉视频久久
|
成人少妇影院yyyy
|
www.午夜
|
日韩欧美精品
|
国产人成一区二区三区影院
|
特黄网站
|
日韩视频免费观看
|
亚洲毛片视频
|
国产精品久久久久久久久久久久久久久
|
天天爽夜夜操
|