OpenEdv-开源电子网

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

各位师兄,我想问个问题,应该比较基础,原子原先定义的printf适用于USART1口,我现在想把他与USART2对应,也就是PRINTF实际用的是串口2,请问需要修改哪些地方

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-5-30 20:46:22 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-30 20:46:23 | 显示全部楼层
fputc,修改这个函数即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-5-31 12:08:16 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
但是,原子哥,我修改后就用printf("AT+COPS?\r\n");发送检测SIM卡是否注册,没的效果啊。。
回复

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-5-31 15:19:52 | 显示全部楼层
回复【3楼】魏旭西:
---------------------------------
void uart2_init(u32 bound){
    //GPIO端口设置
    GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
 
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟
  USART_DeInit(USART2);  //复位串口1
 //USART1_TX   A.2
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PA.9
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
    GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA9
   
    //USART1_RX   A.3
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化PA10

   //Usart1 NVIC 配置
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2 ;//抢占优先级3
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器
  
   //USART 初始化设置

USART_InitStructure.USART_BaudRate = bound;//一般设置为9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式

    USART_Init(USART2, &USART_InitStructure); //初始化串口
    USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//开启中断
    USART_Cmd(USART2, ENABLE);                    //使能串口 

}串口2的使能对了吗,原子哥
回复

使用道具 举报

7

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2015-5-10
在线时间
1 小时
发表于 2015-5-31 15:55:35 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
int fputc(int ch, FILE *f)
{      
while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
USART1->DR = (u8) ch;      
return ch;
}
把USART1改成USART2即可?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-31 18:54:14 | 显示全部楼层
回复【5楼】w825349706:
---------------------------------
就是这么简单。

不过初始化要搞好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-6-1 19:23:48 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
好的,谢谢
回复

使用道具 举报

0

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2014-1-11
在线时间
23 小时
发表于 2016-6-19 20:31:14 | 显示全部楼层
非常 有用,但是 有时printf用USART1口,有时printf用USART2口,怎么 个改法好呢?
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2015-12-6
在线时间
1 小时
发表于 2016-6-20 09:02:25 | 显示全部楼层
jy11 发表于 2016-6-19 20:31
非常 有用,但是 有时printf用USART1口,有时printf用USART2口,怎么 个改法好呢?

再加个printf2
回复

使用道具 举报

17

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2532
金钱
2532
注册时间
2016-3-6
在线时间
393 小时
发表于 2017-5-21 22:30:27 | 显示全部楼层
谢谢原子哥,有大家一路的探索,学起来问题少了很多
路漫漫其修远兮,吾将上下而求索。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 00:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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