STM32在GCC编译器下,使用printf

先上代码:

void usart_send(char data)
{
	USART1->DR=data;
	while ((USART1->SR & 0x40) != 64);
	USART1->SR = (0<<6);
}
__attribute__((used)) int _write(int fd,char *ptr,int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        usart_send(ptr[i]);
    }
}

STM32在GCC编译器下,使用printf

 在GCC编译器下,printf的重新定向函数为_write();(参照ARM Coretx-M3权威指南)

其中 usart_send(ptr[i]); 为串口输出函数,需要自己重新定义。

上一篇:计组— IO 系统


下一篇:STM32F10x 串口使用DMA