查看: 11218|回复: 19

[已解决] MKE06的UART串口配置,如何实现发送和接收中断?

[复制链接]

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
发表于 2017-4-11 14:24:09 | 显示全部楼层 |阅读模式
最近在写modbus通讯,上位机(触摸屏)与下位机KE06实现串口通讯,但是不知道该如何配置串口?

最佳答案

聪123 发表于 2017-4-13 15:36 实现的功能是:1.UART1接收完成产生中断,在中断中读取数据;                       2.UART1实现数据发送 . ...
回复

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-11 14:27:37 | 显示全部楼层
自己顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24932
最后登录
2025-7-23
发表于 2017-4-11 17:49:01 | 显示全部楼层
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-12 09:06:20 | 显示全部楼层
例程能跑,但是我把重定位代码去掉,PTF3(UART1的TX引脚)没有信号输出。
QQ截图20170412090613.png
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-12 09:07:42 | 显示全部楼层
小恩GG 发表于 2017-4-11 17:49
建议楼主先跑跑例程吧,http://www.nxp.com/products/software-and-tools/hardware-development-tools/freed ...

例程能跑,但是我把重定位代码去掉,PTF3(UART1的TX引脚)没有信号输出。
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24932
最后登录
2025-7-23
发表于 2017-4-12 09:59:37 | 显示全部楼层
聪123 发表于 2017-4-12 09:06
例程能跑,但是我把重定位代码去掉,PTF3(UART1的TX引脚)没有信号输出。

你跑的是哪个代码?
你跑这个代码:
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\iar\ke06\UART_Interrupt_demo
如果你跑的就是这个代码,请告诉你去了哪里代码之后导致不运行的。

回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-12 11:54:11 | 显示全部楼层
本帖最后由 聪123 于 2017-4-12 12:14 编辑
小恩GG 发表于 2017-4-12 09:59
你跑的是哪个代码?
你跑这个代码:
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\iar\ke06\UART_Interru ...


是Keil不是IAR
QQ截图20170412115702.png
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-12 11:33:40 | 显示全部楼层
小恩GG 发表于 2017-4-12 09:59
你跑的是哪个代码?
你跑这个代码:
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\iar\ke06\UART_Interru ...

UART配置流程是:1.声明结构体变量并为其成员变量赋值;
                           2.将结构体成员变量带入UART_Init(UART1,&sConfig); 初始化;
                           3.设置发送回调函数;
                           4.使能UART1中断.
是这样吗?
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

33

帖子

0

注册会员

Rank: 2

积分
116
最后登录
2017-11-7
 楼主| 发表于 2017-4-12 12:11:30 | 显示全部楼层
本帖最后由 聪123 于 2017-4-12 12:15 编辑

                     
                    ,
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24932
最后登录
2025-7-23
发表于 2017-4-12 13:51:33 | 显示全部楼层
本帖最后由 小恩GG 于 2017-4-12 13:58 编辑

你好!
你还是没有完全看官方的代码。
死在while(1),是你程序就这么设计的。
你后面不发数据了,代码肯定死在while(1);
如果你还要发数据:
    while (1)
                {
                                 u8IsSendDone = 0;                        
                   UART_SendInt(UART1, send_buf, 8);
while (!u8IsSendDone);
                }
这么写,while 里面调一次发送,代码会以终端形式发一次。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-25 09:20 , Processed in 0.111339 second(s), 32 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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