打印
[STM32F1]

STM32F103+MAX14830串口问题

[复制链接]
4957|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
天意无罪|  楼主 | 2016-6-2 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于需要多串口应用,STM32F103ZE片上的串口不够,于是用美信的SPI转UART芯片MAX14830,驱动代码是从Linux下移植过来的,网上没有相关**,最近一直调试不通,MCU的SPI接口发通讯正常,MAX14830的各电压、晶振正常,读MAX14830的寄存器值始终是0XFF,现在无法知道我写寄存器到底成功与否,感觉MAX14830都没正常运行,有用过这个片子的吗?求指点迷津?
沙发
mmuuss586| | 2016-6-2 11:42 | 只看该作者
你怎么确定SPI接口通讯正常呢?
拿示波器量下,另外你说的晶振正常,怎么量的,看波形还是平均电压?

使用特权

评论回复
板凳
天意无罪|  楼主 | 2016-6-2 13:29 | 只看该作者
mmuuss586 发表于 2016-6-2 11:42
你怎么确定SPI接口通讯正常呢?
拿示波器量下,另外你说的晶振正常,怎么量的,看波形还是平均电压? ...

示波器测试了STM32端SPI接口的信号线正常,MAX14830的外部有源晶振波形和频率正常。

使用特权

评论回复
地板
天意无罪|  楼主 | 2016-6-3 14:10 | 只看该作者
问题已解决...

使用特权

评论回复
5
liangwode| | 2016-6-27 15:37 | 只看该作者

楼主,你好,请问你是怎么解决的啊,我现在linux上用了这个片子,寄存器返回的值都是0XFF,实在不知道怎么回事

使用特权

评论回复
6
liangwode| | 2016-6-30 11:47 | 只看该作者
楼主,求助,多谢多谢

使用特权

评论回复
7
Soraka| | 2016-6-30 22:09 | 只看该作者
SPI转UART芯片MAX14830还没用过。MAX14830是怎么工作的,什么原理

使用特权

评论回复
8
yangxiongliang| | 2016-7-22 11:31 | 只看该作者
您好,我看到你调试MAX148830的时候有碰到读取寄存器的时候返回0xff,我也碰到了同样的问题,可以给我点指导吗?谢谢!

使用特权

评论回复
9
天意无罪|  楼主 | 2016-8-15 13:40 | 只看该作者
liangwode 发表于 2016-6-27 15:37
楼主,你好,请问你是怎么解决的啊,我现在linux上用了这个片子,寄存器返回的值都是0XFF,实在不知道怎么 ...

不好意思,很久没上21了,问题是出在读时序上,读MAX14830操作时也应该发送2个字节,第一个字节为寄存器地址,第二个字节为任意值,MAX14830在第二个字节写操作时返回数据。你在仔细看一下数据手册上的时序图就明白了。

使用特权

评论回复
10
天意无罪|  楼主 | 2016-8-15 13:41 | 只看该作者
liangwode 发表于 2016-6-27 15:37
楼主,你好,请问你是怎么解决的啊,我现在linux上用了这个片子,寄存器返回的值都是0XFF,实在不知道怎么 ...

Linux有现成的驱动吧

使用特权

评论回复
11
天意无罪|  楼主 | 2016-8-15 13:42 | 只看该作者
yangxiongliang 发表于 2016-7-22 11:31
您好,我看到你调试MAX148830的时候有碰到读取寄存器的时候返回0xff,我也碰到了同样的问题,可以给我点指导 ...

不好意思,很久没上21了,问题是出在读时序上,读MAX14830操作时也应该发送2个字节,第一个字节为寄存器地址,第二个字节为任意值,MAX14830在第二个字节写操作时返回数据。你在仔细看一下数据手册上的时序图就明白了。

使用特权

评论回复
12
hannah_x| | 2016-8-15 14:01 | 只看该作者
天意无罪 发表于 2016-8-15 13:42
不好意思,很久没上21了,问题是出在读时序上,读MAX14830操作时也应该发送2个字节,第一个字节为寄存器 ...

楼主,我也遇到了这样的问题,时序是,我也注意了,但是还是没法读,在初始化的时候有什么需要特别注意的么?

使用特权

评论回复
13
天意无罪|  楼主 | 2016-8-15 14:14 | 只看该作者
你可以先写寄存器值,然后在读出寄存器值,先确保你的读写驱动函数没问题,然后初始化那部分主要是晶振与内部PLL的设置,以及每个端口的配置。

使用特权

评论回复
14
hannah_x| | 2016-9-4 16:06 | 只看该作者
天意无罪 发表于 2016-8-15 14:14
你可以先写寄存器值,然后在读出寄存器值,先确保你的读写驱动函数没问题,然后初始化那部分主要是晶振与内 ...

读写寄存器的问题解决了,目前uart0可以正常通信了,但是uart-urt3发送不出数据来,楼主遇到这个问题了么

使用特权

评论回复
15
hannah_x| | 2016-9-5 15:22 | 只看该作者
天意无罪 发表于 2016-8-15 14:14
你可以先写寄存器值,然后在读出寄存器值,先确保你的读写驱动函数没问题,然后初始化那部分主要是晶振与内 ...

楼主,我读写寄存器都好用了,但是只有uart0发送和接收都正常,uart-uart3发送和接收都不好用。在配置过程中uart和uart1、2、3是一样的

使用特权

评论回复
16
天意无罪|  楼主 | 2016-9-5 15:51 | 只看该作者
hannah_x 发表于 2016-9-4 16:06
读写寄存器的问题解决了,目前uart0可以正常通信了,但是uart-urt3发送不出数据来,楼主遇到这个问题了么 ...

我的4个通信都正常哈,若方便,可以把你初始化部分代码贴出,我看看

使用特权

评论回复
17
fastkiller| | 2016-10-22 12:05 | 只看该作者
mmuuss586 发表于 2016-6-2 11:42
你怎么确定SPI接口通讯正常呢?
拿示波器量下,另外你说的晶振正常,怎么量的,看波形还是平均电压? ...

我流程都跑通了,还能不正常吗,数据收发都实现了。

使用特权

评论回复
18
_gege| | 2016-10-22 14:01 | 只看该作者
看看,非常感谢楼主分享STM32F103+MAX14830串口问题

使用特权

评论回复
19
沉默的风筝| | 2016-11-11 21:34 | 只看该作者
楼主现在的这个驱动还有吗

使用特权

评论回复
20
沉默的风筝| | 2016-11-21 22:06 | 只看该作者
请问 你这个是用linux 2.6下的spi转的吗?我现在也在做这个芯片的驱动,您的代码可以发给我看下么?我的QQ号 401682680  十分感谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

2993

帖子

12

粉丝