[问答] 请问TI的C6678UART外设到底是用的哪个时钟作为源?

vtwterwer2 ( 楼主 ) 2018-6-25 04:37:53  显示全部楼层
本帖最后由 一只耳朵怪 于 2018-6-25 15:53 编辑

你好:
       我现在在用TI的C6678EVML开发板做验证,在使用开发板的串口时遇到这样的情况;
我先给开发板加电,然后加载调试自己写的程序,就通过串口发一个字节的0xAA,在PC
上用串口调试助手接收,发现收到的是0xDA,然后我改发0x0A或0x1A,收到的是0x8A,发0x2A或0x3A,收到的是0x9A,
我设置的波特率为9600,无奇偶校验,1个停止位。
后来我把波特率改为19200,还是一样的现象。我设置波特率参数时参考的是TI网站下载的UART用户手册中的150M时钟下×16模式哪个表中的值。
最后我在加载调试时,先用system reset选项系统复位,然后重新加载.out运行,这时收到的全错,发任何字节收到的都是4个字节的0
我想是不是C6678的UART的时钟源没有设置或手册中的两个波特率参数值只是举个例子,时钟源不一定是150M,要根据自己的使用设置UART的时钟源。
但是我看了TI的C6678器件数据手册、PLL手册、CorePac手册、UART手册等等都没看到UART外设到底是用的哪个时钟作为源,按PLL中说的器件内部最终有16个时钟,但UART到底用的哪个?用的就是系统时钟(sysclolc1)还是其它的,还是固定频率的时钟,频率是多少?
只有向你们资讯一下,谢谢

3个回复

kingnet_52004 发表于 2018-6-25 04:49:29
你好,首先这个问题的原因一定是串口的波特率问题。
C6678串口的时钟源来自于SYSCLK7。
SYSCLK7是CPU的6分频。
因此要先看时钟源如150M,然后配置PLL,最终得到你的SYSCLK7。
此时按照SYSCLK7来计算你的串口波特率配置参数,应该就没有问题了。
回复

举报 使用道具

huangjulan55 发表于 2018-6-25 05:01:22
你设置成一直发送 一直发0XAA  然后用示波器看看  TX 管脚出来的波形  看看 脉宽跟你的波特率一致不 一直的话 波特率设置就没问题
不一致的话  就重新设置下参数  看仔细哪里不对
回复

举报 使用道具

vtwterwer2 发表于 2018-6-25 05:19:03
kingnet_52004 发表于 2018-6-25 04:49
你好,首先这个问题的原因一定是串口的波特率问题。
C6678串口的时钟源来自于SYSCLK7。
SYSCLK7是CPU的6分频。

你好
       非常感谢你能及时答复我的问题,对我帮助很大。只是奇怪,TI的手册上为什么不说清楚UART的时钟源是SYSCLK7,我的确是仔仔细细的看了好几遍那几个手册。
回复

举报 使用道具

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

本版积分规则


关闭

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

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-7-18 18:16 , Processed in 0.251548 second(s), 24 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表