//串口发送一个字节
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));