历史上的今天
今天是:2025年06月10日(星期二)
2018年06月10日 | STM32 USART 输入输出C库函数重定向理解
2018-06-10 来源:eefocus
重定向:是指用户可以自己重写c的库函数,当连接器检查到用户编写了与C库函数相同名字的函数时,优先采用用户编写的函数,这样用户就可以实现对库的修改了。
为了实现重定向printf()函数,我们需要重写fputc()这个c标准库函数,因为printf()在c标准库函数中实质是一个宏,最终调用了fputc()这个函数。
例如 用户有一个I/O设备,如USART。本来库函数 fputc()是把字符输出到调试器控制窗口上去,但用户要把数据通过USART输出到串口助手上去,这样一来,用到的基于fputc()函数的printf()系列函数的输出都需要被重定向到USART端口上去。
所以要想使用USART功能,用户必须自己重定向fputc()函数。
史海拾趣
|
最近趁着买芯片的时候顺便弄了一大堆磁珠,50欧,100欧和200欧的,还有1206贴片的,仍然是50,100,200欧,想用在现在的ARM7系统中,结果取值方面实在是没经验,举棋不定了...:L 我的ARM7系统用的是ADuC7026芯片,内部频率是靠32.768K的晶振PLL了 ...… 查看全部问答> |
|
各位大哥,望给兄弟指点一下。 我现在使用WINCE6.0; 如何把这个改成中断方式测试啊?? 测试驱动如下: hDrv=CreateFile(L\"SPI1:\",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);// char datavalue[10]={0x00,0x01,0x0 ...… 查看全部问答> |
|
关于UCLINUX的内核问题(当下载Bootloader 和ucLinux内核到目标板后系统就可以启动到LINUX的图形界面了吗) 当下载Bootloader 和ucLinux内核到目标板后系统就可以启动到LINUX的图形界面了吗… 查看全部问答> |
|
在build的时候出现这样的错误: >> error: illegal relocation type 050002 found in section .debug_info, file C:\\\\tidcs\\\\DMC\\\\c28\\\\v32x\\\\lib\\\\dmclib\\\\c ...… 查看全部问答> |
|
摘要:论述了中性点不接地系统中电压互感器一次侧熔丝,熔断的各种原因和处理方法,重点阐明了安装在电压互感器一次绕组中性点的消谐电阻不能限制电压互感器入口电容冲击电流的原理。 关键词:雷击;不接地系统;电压互感器;消谐器:互感器:电流电 ...… 查看全部问答> |
|
我用Quartus II编写代码,编译后,调用Modelsim6.0仿真,可就是不行。调用Modelsim6.0可以执行功能仿真(前仿真),可执行后仿真就不行了,老有错。只要添加.sdo文件一运行就过不了。真不知该咋办。。。。。。。我下了不少学习文件来看。。可还是解 ...… 查看全部问答> |
|
我用串口调试助手调试 没动静啊 以下是程序 #include static char string1[8]; char i; char j = 0; void main( void ) { WDTCTL = WDTPW + WDTHOLD; P3SEL |= 0x30; M ...… 查看全部问答> |




