//串口发送一个字节 void UART_send_byte(u8 byte) { while(!((USART1->ISR)&(1<<7))); USART1->TDR=byte; } void uart_putbuff(uint8_t *data,uint32_t size) { uint8_t i=0; for(;i<size;i++) { UART_send_byte(*(data+i)); } } void vcan_sendware(uint8_t *wareaddr, uint32_t waresize) { uint8_t cmdf[2] = {0x03, 0xfc}; //串口调试 使用的前命令 uint8_t cmdr[2] = {0xfc, 0x03}; //串口调试 使用的后命令 uart_putbuff(cmdf, sizeof(cmdf)); //先发送前命令 uart_putbuff(wareaddr, waresize); //发送数据 uart_putbuff(cmdr, sizeof(cmdr)); //发送后命令 }
函数调用
定义一个数组即可uint16_t var[3];不同的数据类型只要改数组定义即可,打印函数不用变
vcan_sendware((uint8_t *)var, sizeof(var));