3987|14

151

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

MSP430fr5989管脚复用输出功能 [复制链接]

请教一下,这款芯片管脚复用输出,怎么设置,用库函数

如图,要使P5.2管脚输出ACLK。怎么通过GPIO_setAsPeripheralModuleFunctionOutputPin()这个库函数设置啊。我设置了并没有输出啊

最新回复

yes  详情 回复 发表于 2015-10-29 19:02
 
点赞 关注

回复
举报

2549

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
void GPIO setAsPeripheralModuleFunctionOutputPin ( uint8 t selectedPort, uint16 t
selectedPins, uint8 t mode )

各参数:
GPIO PORT P5;GPIO PIN2;GPIO_TERNARY_MODULE_FUNCTION  
为啥看下面的截图


多查

点评

[attachimg]219049[/attachimg] 我按着这个填入CS_setDCOFreq (CS_DCORSEL_0, [/backcolor]CS_DCOFSEL_3);频率没有4M,只有2.7M这样子[/backcolor] 大神知道这是为何吗[/backcolor]  详情 回复 发表于 2015-10-28 20:19
事实上我也是这样写的,可是管脚没有输出啊  详情 回复 发表于 2015-10-28 15:43
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

板凳
 
对啊,像2楼一样。其实你只要知道是这个函数就行了。要学会点击右键“go to define xx函数”,在这个函数定义处,一般会有参数的说明。和这个函数的功能。

点评

大神看6楼  详情 回复 发表于 2015-10-28 20:19
 
 
 

回复

151

帖子

3

TA的资源

一粒金砂(中级)

4
 
本帖最后由 wanyisq 于 2015-10-28 15:44 编辑
数码小叶 发表于 2015-10-28 15:33
void GPIO setAsPeripheralModuleFunctionOutputPin ( uint8 t selectedPort, uint16 t
selectedPins, uin ...

事实上我也是这样写的,可是管脚没有输出啊
  1. void main(void)
  2. {
  3.   WDT_A_hold(WDT_A_BASE);
  4.   PMM_unlockLPM5();
  5. //  system_clock_init();
  6. //  CS_setDCOFreq(CS_DCORSEL_1, CS_DCOFSEL_2);
  7. //  GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN2);
  8. //  GPIO_setOutputHighOnPin(GPIO_PORT_P5,GPIO_PIN2);
  9. //  CS_setExternalClockSource(32768, 0);
  10.   GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P5,GPIO_PIN2,GPIO_TERNARY_MODULE_FUNCTION );
  11.   GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN3);
  12.   while(1)
  13.   {
  14.     GPIO_toggleOutputOnPin(GPIO_PORT_P5,GPIO_PIN3);
  15.     __delay_cycles(100000);
  16.   }

  17. }
复制代码
 
 
 

回复

151

帖子

3

TA的资源

一粒金砂(中级)

5
 
我靠!都无力吐槽了。我想着试试P5.0的MCLK输出吧,一测可以。回头在测试P5.2的ACLK输出竟然可以了。这是怎么回事啊
 
 
 

回复

151

帖子

3

TA的资源

一粒金砂(中级)

6
 
数码小叶 发表于 2015-10-28 15:33
void GPIO setAsPeripheralModuleFunctionOutputPin ( uint8 t selectedPort, uint16 t
selectedPins, uin ...


我按着这个填入CS_setDCOFreq (CS_DCORSEL_0, CS_DCOFSEL_3);频率没有4M,只有2.7M这样子
大神知道这是为何吗

点评

看您的这个截图,这个函数应该是设置DCO的频率的。看起来对开发环境也有一定的要求。不知道您用哪个开发环境? CS_DCORSEL和CS_DORFSEL这两个参数,主要会分为hight frequency和low frequency。 我举个例子,既然C  详情 回复 发表于 2015-10-28 22:13
 
 
 

回复

151

帖子

3

TA的资源

一粒金砂(中级)

7
 
huaiqiao 发表于 2015-10-28 15:36
对啊,像2楼一样。其实你只要知道是这个函数就行了。要学会点击右键“go to define xx函数”,在这个函数定 ...

大神看6楼
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
wanyisq 发表于 2015-10-28 20:19
我按着这个填入CS_setDCOFreq (CS_DCORSEL_0, CS_DCOFSEL_3);频率没有4M,只有2.7M这样 ...

看您的这个截图,这个函数应该是设置DCO的频率的。看起来对开发环境也有一定的要求。不知道您用哪个开发环境?
CS_DCORSEL和CS_DORFSEL这两个参数,主要会分为hight frequency和low frequency。
我举个例子,既然CS_DCOFSEL_0这个同一个参数有两种用法。
所以我觉得一定会有个地方去设置是hight frequency还是low frequency的。这个楼主您留意下。
频率没有4M,楼主是怎么确定的呢?示波器?还是?

PS:您的这个型号我没有用到过。

点评

我用的IAR环境,在IAR的自带的库函数cs.c里面也是这样写的 而我填入的参数也是 CS_setDCOFreq(CS_DCORSEL_1, CS_DCOFSEL_3); 我使用的示波器测试的  详情 回复 发表于 2015-10-29 09:10
 
 
 

回复

151

帖子

3

TA的资源

一粒金砂(中级)

9
 
huaiqiao 发表于 2015-10-28 22:13
看您的这个截图,这个函数应该是设置DCO的频率的。看起来对开发环境也有一定的要求。不知道您用哪个开发 ...

我用的IAR环境,在IAR的自带的库函数cs.c里面也是这样写的

  1. //*****************************************************************************
  2. //
  3. //! \brief Set DCO frequency
  4. //!
  5. //! \param dcorsel selects frequency range option.
  6. //!        Valid values are:
  7. //!        - \b CS_DCORSEL_0 [Default] - Low Frequency Option
  8. //!        - \b CS_DCORSEL_1 - High Frequency Option
  9. //! \param dcofsel selects valid frequency options based on dco frequency range
  10. //!        selection (dcorsel)
  11. //!        Valid values are:
  12. //!        - \b CS_DCOFSEL_0 - Low frequency option 1MHz. High frequency option
  13. //!           1MHz.
  14. //!        - \b CS_DCOFSEL_1 - Low frequency option 2.67MHz. High frequency
  15. //!           option 5.33MHz.
  16. //!        - \b CS_DCOFSEL_2 - Low frequency option 3.33MHz. High frequency
  17. //!           option 6.67MHz.
  18. //!        - \b CS_DCOFSEL_3 - Low frequency option 4MHz. High frequency option
  19. //!           8MHz.
  20. //!        - \b CS_DCOFSEL_4 - Low frequency option 5.33MHz. High frequency
  21. //!           option 16MHz.
  22. //!        - \b CS_DCOFSEL_5 - Low frequency option 6.67MHz. High frequency
  23. //!           option 20MHz.
  24. //!        - \b CS_DCOFSEL_6 - Low frequency option 8MHz. High frequency option
  25. //!           24MHz.
  26. //!
  27. //! \return None
  28. //
  29. //*****************************************************************************
复制代码


而我填入的参数也是    CS_setDCOFreq(CS_DCORSEL_1, CS_DCOFSEL_3);
我使用的示波器测试的

点评

也就是说CS_setDCOFreq这个函数的第一个参数是控制low还是high frequency的。 第二个参数是在选择第一个参数为前提的条件下,选择第二个参数的。 但是这个函数之前的前提又是你使用的是DCO。 那么,你要查看下  详情 回复 发表于 2015-10-29 09:24
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

10
 
wanyisq 发表于 2015-10-29 09:10
我用的IAR环境,在IAR的自带的库函数cs.c里面也是这样写的


而我填入的参数也是    CS_setDCOFreq(CS ...

也就是说CS_setDCOFreq这个函数的第一个参数是控制low还是high frequency的。
第二个参数是在选择第一个参数为前提的条件下,选择第二个参数的。

但是这个函数之前的前提又是你使用的是DCO。
那么,你要查看下你的程序中是否用的是DCO了。
@数码小叶  小叶也帮忙看看啦。

点评

不用看了,楼主每次不贴全部程序,光有这一句,DCO就不可能设置完,也不可能输出4M的。你教楼主看文档吧  详情 回复 发表于 2015-10-29 11:22
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

11
 
huaiqiao 发表于 2015-10-29 09:24
也就是说CS_setDCOFreq这个函数的第一个参数是控制low还是high frequency的。
第二个参数是在选择第一个 ...

不用看了,楼主每次不贴全部程序,光有这一句,DCO就不可能设置完,也不可能输出4M的。你教楼主看文档吧

点评

我也觉得,肯定有个地方是在设置选择DCO,否则怎么就成了DCO了。不是默认的吧。  详情 回复 发表于 2015-10-29 11:27
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

12
 
数码小叶 发表于 2015-10-29 11:22
不用看了,楼主每次不贴全部程序,光有这一句,DCO就不可能设置完,也不可能输出4M的{:1 ...

我也觉得,肯定有个地方是在设置选择DCO,否则怎么就成了DCO了。不是默认的吧。

点评

看了下,这个5989的时钟比较复杂,哈哈哈  详情 回复 发表于 2015-10-29 15:47
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

13
 
huaiqiao 发表于 2015-10-29 11:27
我也觉得,肯定有个地方是在设置选择DCO,否则怎么就成了DCO了。不是默认的吧。

看了下,这个5989的时钟比较复杂,哈哈哈

点评

应该会像stm32一样有时钟树之类的额吧。我觉得。O(∩_∩)O哈哈~  详情 回复 发表于 2015-10-29 18:57
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

14
 
数码小叶 发表于 2015-10-29 15:47
看了下,这个5989的时钟比较复杂,哈哈哈

应该会像stm32一样有时钟树之类的额吧。我觉得。O(∩_∩)O哈哈~

点评

yes  详情 回复 发表于 2015-10-29 19:02
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

15
 
huaiqiao 发表于 2015-10-29 18:57
应该会像stm32一样有时钟树之类的额吧。我觉得。O(∩_∩)O哈哈~

yes
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表