今天看代码的时候发现了新大陆,他的printf不是用串口发的,搞得我还在研究串口是怎么弄的
#define ITM_STIM_U32 (*(volatile unsigned int*)0xE0000000) // Stimulus Port Register word acces #define ITM_STIM_U8 (*(volatile char*)0xE0000000) // Stimulus Port Register byte acces #define ITM_ENA (*(volatile unsigned int*)0xE0000E00) // Trace Enable Ports Register #define ITM_TCR (*(volatile unsigned int*)0xE0000E80) // Trace control register uint8_t SwoPt_EnCheck(void) { if ((ITM_TCR & 1) == 0) { return 0; } if ((ITM_ENA & 1) == 0) { return 0; } return 1; } void SwoPt_sendByte(uint8_t SwoPt_c) { if(SwoPt_EnCheck()) { if(ITM_STIM_U8 & 1) { ITM_STIM_U8 = SwoPt_c; } } } #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { //USART_SendData(eval_COM1, (uint8_t) ch); SwoPt_sendByte((uint8_t) ch); //while (USART_GetFlagStatus(eval_COM1, USART_FLAG_TC) == RESET) //{} return ch; }
这个是stm32f407LGT6的代码,贴上就能用
选择调试模式
打开窗口
如果出问题
在下面设置成你当前的主频频率
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)