//串口發送一個字節 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));