OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4674|回复: 3

UART4 UART5

[复制链接]

12

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-7-11
在线时间
0 小时
发表于 2014-9-26 00:03:22 | 显示全部楼层 |阅读模式
5金钱
今天调通了USART3,但UART4和UART5调不出来,怀疑是初始化问题?请问问题在那处?

USART3 (正常):

void USART3_Init(u32 pclk2,u32 bound)
{    
float temp;
u16 mantissa;
u16 fraction;   
temp=(float)(pclk2*1000000)/(bound*16);
mantissa=temp; 
fraction=(temp-mantissa)*16; 
    mantissa<<=4;
mantissa+=fraction; 
RCC->APB2ENR|=1<<3;   
RCC->APB1ENR|=1<<18;  
GPIOB->CRH&=0XFFFF00FF;
GPIOB->CRH|=0X00008B00;
 
RCC->APB1RSTR|=1<<18; 
RCC->APB1RSTR&=~(1<<18);   

USART3->BRR=mantissa;
USART3->CR1|=0X200C; 
#if EN_USART3_RX 
USART3->CR1|=1<<8;   
USART3->CR1|=1<<5;      
MY_NVIC_Init(3,3,USART3_IRQn,2);
#endif
}

UART4(异常):
void UART4_Init(u32 pclk2,u32 bound)
{    
float temp;
u16 mantissa;
u16 fraction;   
temp=(float)(pclk2*1000000)/(bound*16);
mantissa=temp; 
fraction=(temp-mantissa)*16;   
    mantissa<<=4;
mantissa+=fraction; 
RCC->APB2ENR|=1<<4;   
RCC->APB1ENR|=1<<19;  
GPIOC->CRH&=0XFFFF00FF;
GPIOC->CRH|=0X00008B00;
 
RCC->APB1RSTR|=1<<19; 
RCC->APB1RSTR&=~(1<<19);  

  UART4->BRR=mantissa;
UART4->CR1|=0X200C;  
#if EN_UART4_RX    

UART4->CR1|=1<<8;    
UART4->CR1|=1<<5;    
MY_NVIC_Init(3,3,UART4_IRQn,2);
#endif
}

UART5异常
void UART5_Init(u32 pclk2,u32 bound)
{    
float temp;
u16 mantissa;
u16 fraction;   
temp=(float)(pclk2*1000000)/(bound*16);
mantissa=temp;
fraction=(temp-mantissa)*16;  
mantissa<<=4;
mantissa+=fraction; 
RCC->APB2ENR|=1<<4;  
RCC->APB2ENR|=1<<5;
RCC->APB1ENR|=1<<20; 

GPIOC->CRH&=0XFFF0FFFF;
  GPIOD->CRL&=0XFFFFF0FF;
GPIOC->CRH|=0X000B0000;
GPIOD->CRL|=0X00000800;
 
RCC->APB1RSTR|=1<<20;   
RCC->APB1RSTR&=~(1<<20);     

  UART5->BRR=mantissa;  
UART5->CR1|=0X200C;  
#if EN_UART5_RX

UART5->CR1|=1<<8;    
UART5->CR1|=1<<5;        
MY_NVIC_Init(3,3,UART5_IRQn,2);
#endif
}



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-7-11
在线时间
0 小时
 楼主| 发表于 2014-9-26 00:15:33 | 显示全部楼层
发现是卡於这个里 

while((UART4->SR&0X40)==0);

while((UART5->SR&0X40)==0);
回复

使用道具 举报

12

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-7-11
在线时间
0 小时
 楼主| 发表于 2014-9-26 00:50:02 | 显示全部楼层
我用mini板的,是否芯片不支持?
回复

使用道具 举报

22

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2012-11-11
在线时间
24 小时
发表于 2014-9-26 07:54:11 | 显示全部楼层
STM32F103RB是没有UART4和UART5
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 03:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表