stm32山外虚拟示波器笔记

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

 

转载于:https://www.cnblogs.com/-yjx-/p/10620114.html

你可能感兴趣的:(stm32山外虚拟示波器笔记)