历史上的今天
今天是:2025年01月17日(星期五)
2019年01月17日 | STM32学习记录——printf函数重定位
2019-01-17 来源:eefocus
功能:
重定位printf函数,使printf作为串口打印输出函数。代替usart_send_string()函数
步骤:
usart.c中包含USART初始化函数
1、USART初始化(使能时钟、使能GPIO、GPIO和USART初始化)
2、打开USART
3、在usart.c中加入如下代码
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/*******************************************************************************
* Function Name : PUTCHAR_PROTOTYPE
* Description : Retargets the C library printf function to the USART.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
PUTCHAR_PROTOTYPE
{
while (!(USART1->SR & USART_FLAG_TXE));
USART1->DR = (ch & 0x1FF);
return ch;
}
4、在usart.h中添加头文件
史海拾趣
|
求TC35外围电路连接图及收发短信源代码 !! 各位大虾帮帮忙吧,刚接触这东西,急需这些来熟悉熟悉,买了个TC35模块,想自己焊个板子玩下。 如果有的话,麻烦发我邮箱fjchen_ok@126.com 谢谢了~… 查看全部问答> |
|
各位大侠: 小弟正用MC9328MXL CPU。第一次接触。请大侠们介绍一下。 还有,我想用程序管理CPU上的电池芯片。请问这款CPU上的电池芯片是什么型号的?官方网站地址是什么? 谢谢!!!… 查看全部问答> |
|
急!!!!!!!!!!!!!(高分请教!!!)EVC中得到ADO连接对象对应ClassID总是有问题 我的程序在运行到获得ADO对象对应的classID的时候,总是不能成功,不知道为什么?麻烦指点一下. m_ProgID = _T (\"ADOCE.Connection.3.1\"); CLSID m_ClsID; hr = CLSIDFromProgID(m_ProgID, &m_ClsID); if(FAILED ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:40 编辑 这个是英文版的,没发现中文版,有牛人自制中文版的,发上来贡献下。 … 查看全部问答> |




