刚开始的时候,以为是晶振没弄清楚,检查了板子上是H8.000k5,那个官方文件HSE值也是8M没有问题的,,检查MDK的设置,也是8M,,,波特率程序初始化的是115200,调试助手也是115200呢,测试程序的时候单独发送一个字节数据调试助手也是受到不一样的值如0x01);助手收到的是F0或者F8。。。。折磨了很久,求助大神呢
用官方探索者stm32F407ZET6开发板的串口实验也乱码
这是串口相关配置及中断程序
#include "sys.h"
#include "usart.h"
//
//Èç¹ûʹÓÃucos,Ôò°üÀ¨ÏÂÃæµÄÍ·Îļþ¼´¿É.
#if SYSTEM_SUPPORT_OS
#include "includes.h" //ucos ʹÓÃ
#endif
//
//±¾³ÌÐòÖ»¹©Ñ§Ï°Ê¹Óã¬Î´¾×÷ÕßÐí¿É£¬²»µÃÓÃÓÚÆäËüÈκÎÓÃ;
//ALIENTEK STM32F4̽Ë÷Õß¿ª·¢°å
//´®¿Ú1³õʼ»¯
//ÕýµãÔ×Ó@ALIENTEK
//¼¼ÊõÂÛ̳:www.openedv.com
//ÐÞ¸ÄÈÕÆÚ:2014/6/10
//°æ±¾£ºV1.5
//°æȨËùÓУ¬µÁ°æ±Ø¾¿¡£
//Copyright(C) ¹ãÖÝÊÐÐÇÒíµç×ӿƼ¼ÓÐÏÞ¹«Ë¾ 2009-2019
//All rights reserved
//********************************************************************************
//V1.3ÐÞ¸Ä˵Ã÷
//Ö§³ÖÊÊÓ¦²»Í¬ÆµÂÊϵĴ®¿Ú²¨ÌØÂÊÉèÖÃ.
//¼ÓÈëÁ˶ÔprintfµÄÖ§³Ö
//Ôö¼ÓÁË´®¿Ú½ÓÊÕÃüÁÄÜ.
//ÐÞÕýÁËprintfµÚÒ»¸ö×Ö·û¶ªÊ§µÄbug
//V1.4ÐÞ¸Ä˵Ã÷
//1,Ð޸Ĵ®¿Ú³õʼ»¯IOµÄbug
//2,ÐÞ¸ÄÁËUSART_RX_STA,ʹµÃ´®¿Ú×î´ó½ÓÊÕ×Ö½ÚÊýΪ2µÄ14´Î·½
//3,Ôö¼ÓÁËUSART_REC_LEN,ÓÃÓÚ¶¨Òå´®¿Ú×î´óÔÊÐí½ÓÊÕµÄ×Ö½ÚÊý(²»´óÓÚ2µÄ14´Î·½)
//4,ÐÞ¸ÄÁËEN_USART1_RXµÄʹÄÜ·½Ê½
//V1.5ÐÞ¸Ä˵Ã÷
//1,Ôö¼ÓÁ˶ÔUCOSIIµÄÖ§³Ö
//
//
//¼ÓÈëÒÔÏ´úÂë,Ö§³Öprintfº¯Êý,¶ø²»ÐèҪѡÔñuse MicroLIB
#if 1
#pragma import(__use_no_semihosting)
//±ê×¼¿âÐèÒªµÄÖ§³Öº¯Êý
struct __FILE
{
int handle;
};
FILE __stdout;
//¶¨Òå_sys_exit()ÒÔ±ÜÃâʹÓðëÖ÷»úģʽ
_sys_exit(int x)
{
x = x;
}
//Öض¨Òåfputcº¯Êý
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);//Ñ»··¢ËÍ,Ö±µ½·¢ËÍÍê±Ï
<
用官方探索者stm32F407ZET6开发板的串口实验也乱码
这是串口相关配置及中断程序
#include "sys.h"
#include "usart.h"
//
//Èç¹ûʹÓÃucos,Ôò°üÀ¨ÏÂÃæµÄÍ·Îļþ¼´¿É.
#if SYSTEM_SUPPORT_OS
#include "includes.h" //ucos ʹÓÃ
#endif
//
//±¾³ÌÐòÖ»¹©Ñ§Ï°Ê¹Óã¬Î´¾×÷ÕßÐí¿É£¬²»µÃÓÃÓÚÆäËüÈκÎÓÃ;
//ALIENTEK STM32F4̽Ë÷Õß¿ª·¢°å
//´®¿Ú1³õʼ»¯
//ÕýµãÔ×Ó@ALIENTEK
//¼¼ÊõÂÛ̳:www.openedv.com
//ÐÞ¸ÄÈÕÆÚ:2014/6/10
//°æ±¾£ºV1.5
//°æȨËùÓУ¬µÁ°æ±Ø¾¿¡£
//Copyright(C) ¹ãÖÝÊÐÐÇÒíµç×ӿƼ¼ÓÐÏÞ¹«Ë¾ 2009-2019
//All rights reserved
//********************************************************************************
//V1.3ÐÞ¸Ä˵Ã÷
//Ö§³ÖÊÊÓ¦²»Í¬ÆµÂÊϵĴ®¿Ú²¨ÌØÂÊÉèÖÃ.
//¼ÓÈëÁ˶ÔprintfµÄÖ§³Ö
//Ôö¼ÓÁË´®¿Ú½ÓÊÕÃüÁÄÜ.
//ÐÞÕýÁËprintfµÚÒ»¸ö×Ö·û¶ªÊ§µÄbug
//V1.4ÐÞ¸Ä˵Ã÷
//1,Ð޸Ĵ®¿Ú³õʼ»¯IOµÄbug
//2,ÐÞ¸ÄÁËUSART_RX_STA,ʹµÃ´®¿Ú×î´ó½ÓÊÕ×Ö½ÚÊýΪ2µÄ14´Î·½
//3,Ôö¼ÓÁËUSART_REC_LEN,ÓÃÓÚ¶¨Òå´®¿Ú×î´óÔÊÐí½ÓÊÕµÄ×Ö½ÚÊý(²»´óÓÚ2µÄ14´Î·½)
//4,ÐÞ¸ÄÁËEN_USART1_RXµÄʹÄÜ·½Ê½
//V1.5ÐÞ¸Ä˵Ã÷
//1,Ôö¼ÓÁ˶ÔUCOSIIµÄÖ§³Ö
//
//
//¼ÓÈëÒÔÏ´úÂë,Ö§³Öprintfº¯Êý,¶ø²»ÐèҪѡÔñuse MicroLIB
#if 1
#pragma import(__use_no_semihosting)
//±ê×¼¿âÐèÒªµÄÖ§³Öº¯Êý
struct __FILE
{
int handle;
};
FILE __stdout;
//¶¨Òå_sys_exit()ÒÔ±ÜÃâʹÓðëÖ÷»úģʽ
_sys_exit(int x)
{
x = x;
}
//Öض¨Òåfputcº¯Êý
int fputc(int ch, FILE *f)
{
while((USART1->SR&0X40)==0);//Ñ»··¢ËÍ,Ö±µ½·¢ËÍÍê±Ï
<