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);

更多推荐

测试,实验,配置,发送