OpenEdv-开源电子网

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

战舰V2.0的板子串口线是不是接反了

[复制链接]

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2013-7-25
在线时间
52 小时
发表于 2013-10-7 16:25:41 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-10-7
在线时间
0 小时
发表于 2013-10-7 16:41:08 | 显示全部楼层
同学。。你会不会串口初始化?
回复 支持 反对

使用道具 举报

8

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-10-7
在线时间
0 小时
发表于 2013-10-7 16:41:38 | 显示全部楼层
我初始化总是有问题。。。
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2013-7-25
在线时间
52 小时
 楼主| 发表于 2013-10-7 16:50:49 | 显示全部楼层
回复【3楼】钱紧123:
---------------------------------
板子的串口必须用直连线才能用,23交叉线反而不行。
回复 支持 反对

使用道具 举报

8

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-10-7
在线时间
0 小时
发表于 2013-10-7 17:07:56 | 显示全部楼层
没有啊。。。我就是用线连得。。串口1都能用。。到串口2就不能用了。。。而且我串口2初始化程序是完全模仿串口1的。。。。就是不能用。。。
回复 支持 反对

使用道具 举报

8

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-10-7
在线时间
0 小时
发表于 2013-10-7 17:08:51 | 显示全部楼层
能帮我看看么。。大侠。。。。



void usart2_init(u32 pclk2,u32 bound)
{ float temp;
u16 mantissa;
u16 fraction;    
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
mantissa=temp;  //得到整数部分
fraction=(temp-mantissa)*16; //得到小数部分  
    mantissa<<=4;
mantissa+=fraction;
 
RCC->APB2ENR|=1<<2;   //使能PORTA口时钟  
RCC->APB1ENR|=1<<17;  //使能串口2时钟 
GPIOA->CRL&=0XFFFF00FF; 
GPIOA->CRL|=0X00008b00;//IO状态设置
RCC->APB1RSTR|=1<<17;   //复位串口2
RCC->APB1RSTR&=~(1<<17);//停止复位        
//波特率设置
  USART2->BRR=mantissa; // 波特率设置  
USART2->CR1|=0X200C;  //1位停止,无校验位.
  
   #ifdef EN_USART2_RX   //如果使能了接收
//使能接收中断
USART2->CR1|=1<<8;    //PE中断使能
USART2->CR1|=1<<5;    //接收缓冲区非空中断使能     
MY_NVIC_Init(3,3,USART2_IRQChannel,2);//组2,最低优先级 
#endif
}
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2013-7-25
在线时间
52 小时
 楼主| 发表于 2013-10-7 19:39:35 | 显示全部楼层
回复【6楼】钱紧123:
---------------------------------
我主要负责硬件的,不过我看了下,这个子函数是没有问题的,你看看主函数里检查了吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-7 19:44:57 | 显示全部楼层
回复【楼主位】summer_fly:
---------------------------------
没有的。

回复【6楼】钱紧123:
---------------------------------
我们的代码:
//初始化IO 串口2
//pclk1CLK1时钟频率(Mhz)
//bound:波特率   
void USART2_Init(u32 pclk1,u32 bound)
{      
RCC->APB2ENR|=1<<2;    //使能PORTA口时钟  
GPIOA->CRL&=0XFFFF00FF; //IO状态设置
GPIOA->CRL|=0X00008B00; //IO状态设置  
RCC->APB1ENR|=1<<17;   //使能串口时钟   
RCC->APB1RSTR|=1<<17;   //复位串口2
RCC->APB1RSTR&=~(1<<17);//停止复位        
//波特率设置
  USART2->BRR=(pclk1*1000000)/(bound);// 波特率设置  
USART2->CR1|=0X200C;   //1位停止,无校验位. 
 #ifdef USART2_RX_EN    //如果使能了接收
//使能接收中断
USART2->CR1|=1<<8;     //PE中断使能
USART2->CR1|=1<<5;     //接收缓冲区非空中断使能     
MY_NVIC_Init(2,3,USART2_IRQChannel,2);//组2,优先级2,3 
TIM4_Init(999,7199); //100ms中断
USART2_RX_STA=0; //清零
 #endif   
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-11 20:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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