stm32F 103 UART4和UART5 不能发送数据 着急 求答案

2019-08-17 08:29发布

已验证USART123 都能正常收发,但是配置改成UART4 和UART5 却不能发送数据。程序停在while((UART4->SR&0x40)==0);  我已经和论坛里面许多帖子比对过了  配置和123是一样的 但是不能发送,很奇怪,,是还要配置特别的么

着急
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
ZRAINZ
2019-08-17 22:49
正点原子 发表于 2016-4-23 20:24
没什么特别,查配置就好了

int main(void)
{               
        u16 t;  
        u16 len;       
        u16 times=0;
  delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(9600);         //串口初始化为115200
//        LED_Init();                             //LED端口初始化
        //KEY_Init();          //初始化与按键连接的硬件接口
        while(1)
        {
              printf(" 您发送的消息为: ")
        }         
}



#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((UART5->SR&0X40)==0);//循环发送,直到发送完毕   
UART5->DR = (u8) ch;

        return ch;
}
#endif

这是主函数和重定向,其他什么都没有

一周热门 更多>