Other Parts Discussed in Thread:MSP430F5438A
MSP430F5438A中的GPIO在PXSEL设置为1时是主外设功能,但是我需要将某一个管脚设置成第二外设功能没有寄存器可以设置,请问怎么设置成第二外设功能?
比如这个里面,我需要将管脚设置成UCA2CLK功能
Susan Yang:
您可以看一下数据手册的 6.10.13 Port P9 (P9.0 to P9.7) Input/Output With Schmitt Trigger
www.ti.com.cn/…/msp430f5438a.pdf
给出了相关的寄存器P9DIR.x 和P9SEL.x配置值
,
MU MU:
是这个表吗?这个表我看了,对ADC之类的有描述,但是对串口 SPI之类的没说怎么区分,DIR在外设条件下不关注,我设置过还是没效果
,
MU MU:
对于F249之类的有两个SEL位可以组合成4种情况,可以组合实现第二外设功能,但是这个没有……谢谢您,希望您为我解惑
,
Susan Yang:
您可以看上面表格(2)(3)
要将P9.0当作UCA2CLK使用,只需要设置 P9SEL的第0位为1即可,而无需设置P9DIR,因为:
(2)引脚方向由USCI模块控制。
(3)UCA2CLK功能优先于UCB2STE功能。如果需要将该引脚用作UCA2CLK输入或输出,则必须将USCI_B2强制为3线SPI模式
,
MU MU:
不对啊,从我自己调试的结果来看,UCA2CLK功能并没有优于UCB2STE功能,而且后面说的是当该引脚作为输出时,如果SPI模式的4线制模式被选择时,将被强制作为3线制SPI模式,因果关系不对啊
在我使用的时候,只要使用第一外设功能引脚的都能正确运行,只要使用第二外设备功能就不行,包括这个管脚……
,
Susan Yang:
MU MU 说:从我自己调试的结果来看,UCA2CLK功能并没有优于UCB2STE功能
请问您是如何调试的?
MU MU 说:只要使用第一外设功能引脚的都能正确运行,只要使用第二外设备功能就不行
具体表现是什么?您可以看一下TI的相关例程,如该链接内 使用P3.4,5 作为 USCI_A0 TXD/RXD
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
,
MU MU:
非常感谢您的回答1、我使能这个管脚为外部功能,并且配置UCA2为SPI模式,用示波器测试引脚信号,一直为高,也就是STE的默认状态,没有时钟输出2、如果我将9.0、9.1、9.2、9.3设置成SPI外设功能,并且配置好USCI_B2为SPI模式,它是可以正确运行,引脚上能够用示波器打出正确的时钟和数据波形,如果设置9.0、9.3、9.4、9.5为SPI外设功能,并且配置好USCI_A2为SPI模式,输出数据时,用示波器打,不能正确输出时钟和数据的波形,感觉第二外设功能没有使能成功
,
MU MU:
非常感谢,已经解决了,我没有在CTRL0里面设置为同步模式,设置为同步模式它自动选择适配的功能
,
Susan Yang:
谢谢您的详细反馈!后续有其他问题欢迎随时发帖