OpenEdv-开源电子网

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

串口变更问题,求助。

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-7-26
在线时间
1 小时
发表于 2018-7-26 22:23:21 | 显示全部楼层 |阅读模式
各位大佬:
              大家好,新手小白近期遇到一个问题,还望各位大佬不吝赐教。问题描述如下,目的是将usart1的使用变为usart4的使用,我的操作是将原子哥《实验4 串口实验》中的代码关于usart1全部
变为usart4,并将usart1中的PA9\10变换为usart4中的pc10/11。编译后出现的问题是use of undeclared identifier“USART4”等类似问题。参见下面,更改的地方已经标红,另外头

文件还有usart_unit文件有usart1的地方都改为了usart4,也是出现use of undeclared identifier“xxx”。使用的是stm32F103的板子。新人发帖,不懂规矩,有不对的地方,


请多多包涵。

int main(void)
{               
        u16 t;  
        u16 len;       
        u16 times=0;
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        LED_Init();                             //LED端口初始化
        KEY_Init();          //初始化与按键连接的硬件接口
        while(1)
        {
                if(USART_RX_STA&0x8000)
                {                                          
                        len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
                        printf("\r\n您发送的消息为:\r\n\r\n");
                        for(t=0;t<len;t++)
                        {
                                USART_SendData(USART4, USART_RX_BUF[t]);//向串口1发送数据
                                while(USART_GetFlagStatus(USART4,USART_FLAG_TC)!=SET);//等待发送结束
                        }
                        printf("\r\n\r\n");//






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

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-7-27 09:28:09 | 显示全部楼层
由于串口四是单工的(即接收或者发送在一个时刻之内只能进行一样,不能够同时接收和发送),所以应该是写为UART4。 TIM截图20180727090615.png
此外楼主也要注意,有些低容量器件和中容量器件可能没有UART4:
TIM截图20180727090329.png
十六进制带我飞。
回复 支持 1 反对 0

使用道具 举报

8

主题

206

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-4-6
在线时间
234 小时
发表于 2018-7-27 08:59:00 | 显示全部楼层
楼上正解,串口四是UART4
回复 支持 1 反对 0

使用道具 举报

82

主题

589

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1255
金钱
1255
注册时间
2017-11-18
在线时间
296 小时
发表于 2018-7-27 08:35:09 | 显示全部楼层
USART4改成UART4试试
回复 支持 1 反对 0

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-7-26
在线时间
1 小时
 楼主| 发表于 2018-7-26 22:24:12 | 显示全部楼层
先谢谢各位大佬提供指导。
回复 支持 反对

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-7-27 08:24:12 | 显示全部楼层
你的芯片型号是什么?有没有串口4的
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-7-26
在线时间
1 小时
 楼主| 发表于 2018-7-28 09:59:45 | 显示全部楼层
qiuzhicheng 发表于 2018-7-27 08:24
你的芯片型号是什么?有没有串口4的

Stm32f103zet6有串口4
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-7-26
在线时间
1 小时
 楼主| 发表于 2018-7-28 10:00:52 | 显示全部楼层
DreamWaterPro 发表于 2018-7-27 09:28
由于串口四是单工的(即接收或者发送在一个时刻之内只能进行一样,不能够同时接收和发送),所以应该是写为 ...

哦哦,受教了。那我要想用uart4,可以直接把usart1程序里有usart1直接变为uart4嘛?
回复 支持 反对

使用道具 举报

11

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
447
金钱
447
注册时间
2013-8-4
在线时间
69 小时
发表于 2018-7-28 15:33:09 来自手机 | 显示全部楼层
楼上大牛说错了,USART和UART的区别在于多了一个S,这个S是代表同步的意思,USART的意思是同步异步串口收发器,UART只能作为异步收发器,并不是楼上说的单工还是双工的意思。具体你用cube配置一下就清楚了
回复 支持 反对

使用道具 举报

4

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-7-21
在线时间
15 小时
发表于 2018-7-28 15:42:06 | 显示全部楼层
还有中文参考手册里有一句,串口1用的是PLCK1,其他用的是PLCK2.你还需要改一下波特率
回复 支持 反对

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-7-29 12:59:05 | 显示全部楼层
城墙上的老树根 发表于 2018-7-28 10:00
哦哦,受教了。那我要想用uart4,可以直接把usart1程序里有usart1直接变为uart4嘛?

不是很清楚,我个人没有用过,也没有办法帮你做这个实验,目测应当是可以的,可以先试一试,或者网上找一些参考代码。
另外也注意一下10#说的问题,它们选的总线时钟好像是不一样的
十六进制带我飞。
回复 支持 反对

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-7-29 12:59:37 | 显示全部楼层
yygkqzh 发表于 2018-7-28 15:33
楼上大牛说错了,USART和UART的区别在于多了一个S,这个S是代表同步的意思,USART的意思是同步异步串口收发 ...

非常感谢你的指正!
十六进制带我飞。
回复 支持 反对

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2018-7-29 13:21:29 | 显示全部楼层
这个问题使用cube配置显然是碰不到的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 17:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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