
在用STM32用作开发时,网上例程都是KEIL下运行的,但是现在好多都是IAR下运行,在研发中加入串口打印便于调试,以下是printf函数的定义,已通过验证; _8 k7 s! H, P$ ]4 J; W( N0 o3 n- W+ a : f$ ^* G& C. _% O : k& u" u% l7 @; V& }9 D9 W8 P, A1 b. K int fputc(int ch, FILE *f) { /* 写一个字节到USART1 */3 E7 k' Q! F0 e y7 T& Y USART_SendData(USART1, (uint8_t) ch);# p2 ]; w( p1 T* t' _. U /* 等待发送结束 */ while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) {} return ch;% Z! ^, m* ^9 a3 a- o4 ]: b- o } * Z5 s$ C6 f. A$ b, p /*4 K; `% X3 K- ?% f9 [) {- h( o; t *********************************************************************************************************- [2 F% ?5 w6 \5 F * 函 数 名: fgetc* n- p3 D: |$ [9 n7 W+ o# Q * 功能说明: 重定义getc函数,这样可以使用scanff函数从串口1输入数据. D9 E# Q& M& m- v * 形 参: 无# Q" \, ?8 {3 {( ?' ~: z2 p& F * 返 回 值: 无 *********************************************************************************************************( ]& g# Y+ N' a2 a */ int fgetc(FILE *f) { /* 等待串口1输入数据 */ while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET); # v# k# @- u( p# l return (int)USART_ReceiveData(USART1); }4 A W6 v% Y6 }" S! y9 [4 p- m 7 i, r H+ u; E% I |
这样keil和IAR都能用,不用改什么东西!
你的这个我试试看啊,之前我把keil教程的代码复制到IAR下不能用
恩,试过了,能行,很不错,请问你对STM32控制外部FLASH这块清楚吗,我遇到了一个问题,可以请教下您吗
是啊,已通过验证
不是,要是SPI就简单了,但是类似于SPI