91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: 其他
  • 標簽: CAN??STM32??

資源簡介

STM32 CAN的發送和接收,最詳細最簡單的介紹,保證一看就能立馬應用上!強力推薦!

資源截圖

代碼片段和文件信息

/**
?******************************************************************************
?*?@file????main.c?
?*?@author??David?Wang
?*?@date????2018-08-16
?*?@brief???Main?program?body
?******************************************************************************
?*?@attention
?*?
?*
?******************************************************************************
?*/

/*?-----------------------?Includes?-----------------------------------------*/
#include?
#include?“stm32f10x.h“


/*?-----------------------?Defines?------------------------------------------*/
#define?DEFAULT_NODEID?0x01
void?Init_CAN(void);
u8?CAN_SetMsg(u8?*msgu8?len);
u8?CAN_GetMsg(u8?*msg1u8?*msg2);
void?CAN1_RX0_IRQHandler(void);
u8?Rx_flag=0;
#define?CAN_RX_LEN??????????8??????????//定義最大接收字節數?
u8?CAN_RX_BUF[CAN_RX_LEN];
u8?CAN_TX_BUF[CAN_RX_LEN];
u8?CAN_RX_BUF[CAN_RX_LEN]={0x08};?????//接收緩沖最大8個字節.

/*?-----------------------?Function?prototypes?------------------------------*/
/*=============================================================================
?*?Description :?Main?program
?*?Input?Para :?none
?*?Output?Para :?none
?*?Return?Value?:?none
?============================================================================*/
int?main(void)
{
Init_CAN();
while(1)
{
CAN_SetMsg(CAN_RX_BUF8);
//CAN_GetMsg(00);
CAN1_RX0_IRQHandler();
}
}?
//初始化函數
void?Init_CAN(void)
{
????GPIO_InitTypeDef???????GPIO_InitStructure;?
????NVIC_InitTypeDef???????NVIC_InitStructure;
????CAN_InitTypeDef????????CAN_InitStructure;
????CAN_FilterInitTypeDef??CAN_FilterInitStructure;

????/*?復用功能和GPIOB端口時鐘使能*/????
????RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO?|?RCC_APB2Periph_GPIOB?ENABLE);??????????????????????????????????????????????????????????????????????

????/*?CAN1?模塊時鐘使能?*/
????RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1?ENABLE);?
/*?CAN2?模塊時鐘使能?*/
????RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2?ENABLE);?

????/*?Configure?CAN?pin:?RX?*/??//?PB8
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_8;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPU;???????//上拉輸入
????GPIO_Init(GPIOB?&GPIO_InitStructure);

????/*?Configure?CAN?pin:?TX?*/???//?PB9
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_9;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;?????//復用推挽輸出
????GPIO_Init(GPIOB?&GPIO_InitStructure);

/*?Configure?CAN?pin:?RX?*/??//?PB5
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_5;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IPU;???????//上拉輸入
????GPIO_Init(GPIOB?&GPIO_InitStructure);

????/*?Configure?CAN?pin:?TX?*/???//?PB6
????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6;
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;?????//復用推挽輸出
????GPIO_Init(GPIOB?&GPIO_InitStructure);

????//重映射
????GPIO_PinRemapConfig(GPIO_Remap1_CAN1?ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_CAN2?ENABLE);

????/*?Configure?the?NVIC?Preemption?Priority?Bits?*/??
????NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

????

評論

共有 條評論