微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32+Keil 如何使用printf函数?

STM32+Keil 如何使用printf函数?

时间:11-10 来源:互联网 点击:

  1. ture.GPIO_Speed=GPIO_Speed_40MHz;*/
  2. GPIOA_InitStructure.GPIO_OType=GPIO_OType_PP;
  3. GPIOA_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;
  4. GPIO_Init(GPIOA,&GPIOA_InitStructure);
  5. while(1)
  6. {
  7. }
  8. }
  9. #ifdefUSE_FULL_ASSERT
  10. /**
  11. *@briefReportsthenameofthesourcefileandthesourcelinenumber
  12. *wheretheassert_paramerrorhasoccurred.
  13. *@paramfile:pointertothesourcefilename
  14. *@paramline:assert_paramerrorlinesourcenumber
  15. *@retvalNone
  16. */
  17. voidassert_failed(uint8_t*file,uint32_tline)
  18. {
  19. /*Usercanaddhisownimplementationtoreportthefilenameandlinenumber*/
  20. printf("\n\rWrongparametervaluedetectedon\r\n");
  21. printf("file%s\r\n",file);
  22. printf("line%d\r\n",line);
  23. /*Infiniteloop*/
  24. /*while(1)
  25. {
  26. }*/
  27. }
  28. #endif
  29. /**
  30. *@briefRetargetstheClibraryprintffunctiontotheUSART.
  31. *@paramNone
  32. *@retvalNone
  33. */
  34. PUTCHAR_PROTOTYPE
  35. {
  36. /*Placeyourimplementationoffputchere*/
  37. /*e.g.writeacharactertotheUSART*/
  38. USART_SendData(EVAL_COM1,(uint8_t)ch);
  39. /*Loopuntiltheendoftransmission*/
  40. while(USART_GetFlagStatus(EVAL_COM1,USART_FLAG_TC)==RESET)
  41. {
  42. }
  43. returnch;
  44. }
  45. /**
  46. *@}
  47. */
  48. /**
  49. *@}
  50. */
  51. /************************(C)COPYRIGHTSTMicroelectronics*****ENDOFFILE****/


该例子就是把COM1作为输出口,把printf的数据打印到该串口上,因此你需要一个串口线与STM32和电脑相连,这样就可以看到printf了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top