2024年3月26日发(作者:东风雪铁龙是哪国的车)
#include \"stm32f10x.h\"
#include \"stm32_eval.h\"
#include \"stm3210c_eval_lcd.h\"
#include
#include
typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;
CAN_InitTypeDef CAN_InitStructure; CAN基本参数配置
CAN_FilterInitTypeDef CAN_FilterInitStructure; 过滤器基本参数配置
CanTxMsg TxMessage; ????发送和接受一个正确式的CAN帧
void RCC_Configuration(void); 对时钟的初始化和测试
void GPIO_Configuration(void); 对管脚的初始化和测试
void NVIC_Configuration(void); can总线中断配置
void CAN_Config(void); 对can接口初始化和测试
void LED_Display(uint8_t Ledstatus); ????
void Init_RxMes(CanRxMsg *RxMessage); ????
void Delay_ARMJISHU(__IO uint32_t nCount)
{
for (; nCount != 0; nCount--); 延迟程序
}
int main(void)
{
USART_COM1_Init(); 对串口初始化
STM3210C_LCD_Init(); LCD初始化
LCD_SetBackColor(LCD_COLOR_RED);
LCD_SetTextColor(LCD_COLOR_GREEN);
LCD_DisplayStringLine(LCD_LINE_0, \" STM3210C-EVAL \");
LCD_DisplayStringLine(LCD_LINE_1, \" STM32F10x Dual CAN \");
LCD_DisplayStringLine(LCD_LINE_2, \"To start Press on: \");
LCD_DisplayStringLine(LCD_LINE_3, \"Key2 or TamperButton\");
LCD_DisplayWelcomeStr(LCD_LINE_8);
LCD_DisplayStringLine(LCD_LINE_9, \"=><=\");
printf(\"nnr 神舟IV号开发板 双CAN收发测试实验
\");
printf(\"nr STM32F107 Dual CAN Demo To start Press on Key2 or Tamper
Button!\");
printf(\"nr 神舟IV号 STM32F107 双CAN总线测试,请按Key2 或 Tamper 按
键!\");
LCD_SetBackColor(LCD_COLOR_BLUE);
LCD_SetTextColor(LCD_COLOR_WHITE);
RCC_Configuration();
GPIO_Configuration();
NVIC_Configuration();
STM_EVAL_LEDInit(LED1);
STM_EVAL_LEDInit(LED2);
STM_EVAL_LEDInit(LED3);
STM_EVAL_LEDInit(LED4);
STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO);
STM_EVAL_PBInit(BUTTON_TAMPER, BUTTON_MODE_GPIO);
CAN_Config();
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
CAN_ITConfig(CAN2, CAN_IT_FMP0, ENABLE);
STM_EVAL_LEDOff(LED1);
STM_EVAL_LEDOff(LED2);
STM_EVAL_LEDOff(LED3);
STM_EVAL_LEDOff(LED4);
while(1)
{
/* 如果Key2按键被按下则CAN1发送数据,CAN2接收数据 */
if(STM_EVAL_PBGetState(BUTTON_KEY)== RESET)
{
LED_Display(0x01);
[0] = 0x55;
CAN_Transmit(CAN1, &TxMessage);
Delay_ARMJISHU(0xFFF);
while(STM_EVAL_PBGetState(BUTTON_KEY)== RESET)
{
}
}
/* 如果Key3(Tamper)按键按下则CAN2发送数据,CAN1接收数据 */
if(STM_EVAL_PBGetState(BUTTON_TAMPER)== RESET)
{
LED_Display(0x2);
[0] = 0xAA;
CAN_Transmit(CAN2, &TxMessage);
更多推荐
测试,实验,配置,发送
发布评论