使用StarterWare软件包创建多个串口收发工程,Uart1、Uart2、Ua... - AM437x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8699|回复: 16

使用StarterWare软件包创建多个串口收发工程,Uart1、Uart2、Ua...

[复制链接]

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
发表于 2017-1-19 22:28:59 | 显示全部楼层 |阅读模式
本帖最后由 wujianzhang 于 2017-1-20 09:23 编辑

最近使用AM4379进行项目开发,基于StarterWare软件包进行裸机开发,参考了StarterWare中examples中的uart_echo实例,按照其中Uart0的相关配置,自己添加了Uart1、Uart2、Uart3,结果除了默认的UART0串口能够发送数据,也能够响应接收数据中断外,其余串口都不能向外发送数据,也无法响应数据接收中断。

对其余串口的配置方法都按照默认Uart0的配置方法,但就是不行。

请问哪位有关于StarterWare多串口的实例程序?如果有的话能否发给我一份?小弟不胜感激,在此谢过了!

我的邮箱:249065964@qq.com

另外,网上关于StarterWare的使用教程和资料真少啊!!!!!除了看StarterWare软件包中的源代码,真没有什么资料了。关于StarterWare如何使用,如何新建配置工程、如何生成BIN文件都没有相关资料。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-19 22:29:47 | 显示全部楼层
uart0 的 instnum 设置为了0

uart1 的 instnum 设置为了1

uart2 的 instnum 设置为了2

uart3 的 instnum 设置为了3

不太理解这个instnum起什么作用,不知道这样设置是否可以
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-19 22:30:07 | 显示全部楼层
开发板采用的是创龙TL4379EVM

在uart_echo中进行了串口的添加

严格按照uart0的初始化方法对其他串口进行配置

依赖的starterware软件包中其他代码都没有修改

然后使用串口发送函数putchar进行发送

uart0能够发送数据

其他串口不能发送数据
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-19 22:30:43 | 显示全部楼层
仅修改了starterware/examples/uart_echo中的串口配置
uart_echo依赖的其他工程都没有修改
其他串口严格按照uart0的配置方式
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-19 22:36:40 | 显示全部楼层
请问如何添加附件呢?
想把我编写的uart工程添加上来
谢谢!
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
发表于 2017-1-20 09:03:49 | 显示全部楼层
有个回形针一样的按钮的,就是添加附件!
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-20 09:30:04 | 显示全部楼层
human 发表于 2017-1-20 09:03
有个回形针一样的按钮的,就是添加附件!

谢谢您!

附件中是我使用创龙TL437x开发板、基于StarterWare中的uart_echo创建的串口、定时器工程
定时器实现的是1ms定时器,在计数达到1s时,通过串口发送调试信息
其他串口都按照uart0方式进行配置,基本上是照葫芦画瓢
麻烦各位了!
谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-20 10:10:49 | 显示全部楼层
串口收发管脚的交叉、直连都试过了,还是不行

点评

这部分设计的东西比较多,建议您这边把uart0涉及的每个结构体理解清楚。 主要涉及到的是pinmux,中断,dma。很有可能是某部分没有设置对,先一个个确认。  详情 回复 发表于 2017-1-23 09:41
回复 支持 反对

使用道具 举报

0

主题

83

帖子

426

积分

创龙

Rank: 8Rank: 8

积分
426
发表于 2017-1-23 09:41:38 | 显示全部楼层
wujianzhang 发表于 2017-1-20 10:10
串口收发管脚的交叉、直连都试过了,还是不行

这部分设计的东西比较多,建议您这边把uart0涉及的每个结构体理解清楚。
主要涉及到的是pinmux,中断,dma。很有可能是某部分没有设置对,先一个个确认。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7

主题

40

帖子

1133

积分

金牌会员

Rank: 6Rank: 6

积分
1133
 楼主| 发表于 2017-1-23 10:12:22 | 显示全部楼层
vefone 发表于 2017-1-23 09:41
这部分设计的东西比较多,建议您这边把uart0涉及的每个结构体理解清楚。
主要涉及到的是pinmux,中断,dm ...

中断号配置肯定是正确的
这个我已经根据DataSheet重的Interrupt章节确认过了

先不说串口接收中断的问题
使用串口向外发送数据肯定不涉及中断吧?

问题是,现在使用串口向外发送数据都是失败的

关于pinmux我已经跟技术支持说过了
贵公司提供的配套光盘中是没有StarterWare默认的*.pinmux工程的
而StarterWare中的各个工程都是根据那个默认*.pinmux工程生成的.h文件进行配置的
我如果使用配套光盘中提供的pinmux软件进行配置,生成的.h配置文件与starterware中的配置不一致,将会导致工程编译出错
我所能想到的,就是拿到TI默认的那个*.pinmux工程,然后在它基础上添加UART1、UART2等串口,其他管脚复用保持原来的,以便保证工程能够编译通过
但是在网上又找不到TI官方默认的*.pinmux工程文件
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 01:25 , Processed in 0.044376 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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