OpenEdv-开源电子网

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

串口1改串口3,直连可行,否则无输出?

[复制链接]

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
发表于 2017-11-13 17:17:43 | 显示全部楼层 |阅读模式
10金钱
各位大大帮忙看下,我是新手,我在原子哥的程序串口通讯简单实例上改了一点,把串口1改成成了串口3,对应的计时器、中断等也进行了调整,但程序执行后,串口助手输入无输出,我将pb10、pb11与tx、rx直接连接起来,可以输出了。我找了两天没找到问题是什么,想问一下如何将之改为串口3,串口3与串口1与电脑连接需要多设置什么吗?

最佳答案

查看完整内容[请看2#楼]

你怎么测试的?串口1改成串口3,你是不是还是默认用的开发板上自带的那个USB_232接口接的电脑?如果是的话很正常!仔细、认真看清楚那个USB_232接口默认接的是哪个串口!默认接的是USART1,串口3肯定没有输出信息!你把PB10、PB11接到tx,rx上就相当于把串口3接到了USB_232上,这个时候串口3就能使用开发板上的USB_232接口收发数据了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-11-13 17:17:44 | 显示全部楼层
你怎么测试的?串口1改成串口3,你是不是还是默认用的开发板上自带的那个USB_232接口接的电脑?如果是的话很正常!仔细、认真看清楚那个USB_232接口默认接的是哪个串口!默认接的是USART1,串口3肯定没有输出信息!你把PB10、PB11接到tx,rx上就相当于把串口3接到了USB_232上,这个时候串口3就能使用开发板上的USB_232接口收发数据了
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
 楼主| 发表于 2017-11-13 17:18:16 | 显示全部楼层
本帖最后由 18983041577 于 2017-11-13 17:20 编辑

程序源码为void My_USART3_Init(void) {         GPIO_InitTypeDef GPIO_InitStrue;        
USART_InitTypeDef USART_InitStrue;        
NVIC_InitTypeDef NVIC_InitStrue;                  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//①        
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);                  
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;         
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;        
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;   
GPIO_Init(GPIOB,&GPIO_InitStrue);//②                  
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;        
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_11;         
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;   
GPIO_Init(GPIOB,&GPIO_InitStrue);//②                 
USART_InitStrue.USART_BaudRate=115200;        
USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;         
USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;        
USART_InitStrue.USART_Parity=USART_Parity_No;         
USART_InitStrue.USART_StopBits=USART_StopBits_1;         
USART_InitStrue.USART_WordLength=USART_WordLength_8b;                  
USART_Init(USART3,&USART_InitStrue);//③                 
USART_Cmd(USART3,ENABLE);//使能串口1                 
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//开启接收中断                  
NVIC_InitStrue.NVIC_IRQChannel=USART3_IRQn;         
NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;        
NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;         
NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;         
NVIC_Init(&NVIC_InitStrue);                  
}
void USART3_IRQHandler(void)
{         
u8 res;         
if(USART_GetITStatus(USART3,USART_IT_RXNE))
{      
res= USART_ReceiveData(USART3);      
USART_SendData(USART3,res);   
}
}   
int main(void)
{         
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        
My_USART3_Init();         
while(1);            
}
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
 楼主| 发表于 2017-11-13 18:25:11 | 显示全部楼层
zuozhongkai 发表于 2017-11-13 18:03
你怎么测试的?串口1改成串口3,你是不是还是默认用的开发板上自带的那个USB_232接口接的电脑?如果是的话 ...

那我应该怎么样使用串口3啊,因为一个串口不够使用,他的初始化需要别的处理吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-11-14 01:23:57 | 显示全部楼层
论坛搜索,大把参考。另外,我们例程也有些用了串口3,扩展实验!
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
 楼主| 发表于 2017-11-14 09:33:49 | 显示全部楼层
正点原子 发表于 2017-11-14 01:23
论坛搜索,大把参考。另外,我们例程也有些用了串口3,扩展实验!

原子哥,我如果想用串口3与电脑之间实现数据传输,应用usb_232接口收发,可以吗?
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2106
金钱
2106
注册时间
2017-2-11
在线时间
307 小时
发表于 2017-11-14 09:56:14 | 显示全部楼层
楼主,用TTL转串口接线到串口3的对应引脚RX  TX  然后插到电脑就可以了
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
 楼主| 发表于 2017-11-14 13:58:49 | 显示全部楼层
jiangyy 发表于 2017-11-14 09:56
楼主,用TTL转串口接线到串口3的对应引脚RX  TX  然后插到电脑就可以了

多谢了,我表述不清,我是想问,如果正常安装,不外接线,我能让串口3与电脑实现数据传输吗?
回复

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2017-11-14 15:47:35 | 显示全部楼层
串口3连接到电脑没?现在大家都是usb转232,然后接芯片串口的,自己看看硬件啊
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-10-28
在线时间
6 小时
 楼主| 发表于 2017-11-14 16:58:08 | 显示全部楼层
本帖最后由 18983041577 于 2017-11-14 17:04 编辑
hgr211 发表于 2017-11-14 15:47
串口3连接到电脑没?现在大家都是usb转232,然后接芯片串口的,自己看看硬件啊

嗯嗯,多谢!再问一个小问题,原子哥的蓝牙程序都是需要进入at模式的,我买的不是atk版的,进入at模式需要按蓝牙芯片上的按键,我应该如何更改原子哥的程序才能实现其与l手机的通信啊,上面呢个就是我想把它简化出现的问题,希望各位大大帮忙分析一下,感觉自己走进了死胡同。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 15:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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