
在用STM32用作开发时,网上例程都是KEIL下运行的,但是现在好多都是IAR下运行,在研发中加入串口打印便于调试,以下是printf函数的定义,已通过验证 + A% ?% n1 [$ S1 } 3 `+ R! }) Z. {* P5 J( X0 Y int fputc(int ch, FILE *f) {" O. W0 b# p4 o) z /* 写一个字节到USART1 */ USART_SendData(USART1, (uint8_t) ch); /* 等待发送结束 */ while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) {} {4 u* r+ ~; ^7 V' l( d% } return ch;. G2 H, g) E- y9 e0 W } R s" V6 t6 h0 H& O 9 e# i* d3 v# n7 `4 S( L1 y5 Y /* *********************************************************************************************************' `0 t4 `: v: B- K, Q: M * 函 数 名: fgetc * 功能说明: 重定义getc函数,这样可以使用scanff函数从串口1输入数据) D3 H$ l) V1 \( A. f * 形 参: 无 * 返 回 值: 无- c, j5 _! K% N *********************************************************************************************************; v; }+ L; q: ]9 ~ */$ H7 s0 ~( I* F! c4 ~ int fgetc(FILE *f) {) O: K* Q5 q0 P/ F! S K7 i( | /* 等待串口1输入数据 */$ o9 |6 J2 ~5 X) Q7 K while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);( c8 g* }* p* q- e0 x/ g9 o$ @4 h return (int)USART_ReceiveData(USART1); }/ n" G* A; b4 H' z& H# \* b - E9 y1 d7 {% i . U+ K; O$ e* Q* a |
这样keil和IAR都能用,不用改什么东西!
你的这个我试试看啊,之前我把keil教程的代码复制到IAR下不能用
恩,试过了,能行,很不错,请问你对STM32控制外部FLASH这块清楚吗,我遇到了一个问题,可以请教下您吗
是啊,已通过验证
不是,要是SPI就简单了,但是类似于SPI