你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 内部时钟输出PA.8(MCO) 如何实现

[复制链接]
小肥羊dsf 提问时间:2018-9-13 17:02 /
悬赏1ST金币未解决
下面是我的实现代码但是PA8 还是没有输出试了几块板一样没有输出
  1. void MCO_GPIO_Init(void)
  2. {
  3.         GPIO_InitTypeDef GPIO_InitStructure;
  4.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);
  5.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  6.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  7.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  8.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  9.         RCC_MCOConfig( RCC_MCO_HSI);
  10. }
复制代码


收藏 评论9 发布时间:2018-9-13 17:02

举报

9个回答
回答时间:2018-9-13 17:09:43
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);
添加一句话,试试。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

小肥羊dsf 回答时间:2018-9-13 17:11:55
安 发表于 2018-9-13 17:09
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);
添加一句话,试试。

好的我试一试
小肥羊dsf 回答时间:2018-9-13 17:13:37
安 发表于 2018-9-13 17:09
GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_MCO);
添加一句话,试试。

我的是103系列的好像没有这个函数吧编译不过
wenyangzeng 回答时间:2018-9-13 19:02:37
小肥羊dsf 发表于 2018-9-13 17:13
我的是103系列的好像没有这个函数吧编译不过

在CubeMX里:
HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);

GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

五哥1 回答时间:2018-9-13 19:31:29
外部电路要参照STM32开发板的STLINK部分。然后,确认是用CUBEMX 还是用标准库开发,这个函数不通
feixiang20 回答时间:2018-9-13 23:22:22
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
操作流程:
   1)、设置PA.8为复用Push-Pull模式。
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
   2)、选择输出时钟源。
    时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。
    RCC_MCOConfig(RCC_MCO);
    参数RCC_MCO为要输出的内部时钟:
      RCC_MCO_NoClock --- 无时钟输出
      RCC_MCO_SYSCLK --- 输出系统时钟(SysCLK)
      RCC_MCO_HSI --- 输出内部高速8MHz的RC振荡器的时钟(HSI)
      RCC_MCO_HSE --- 输出高速外部时钟信号(HSE)
      RCC_MCO_PLLCLK_Div2 --- 输出PLL倍频后的二分频时钟(PLLCLK/2)
注:由于STM32 GPIO输出管脚的最大响应频率为50MHz,如果输出频率超过50MHz,则输出的波形会失真。
回答时间:2018-9-14 08:54:14
HSI时钟开启了没有?
lostworld1978 回答时间:2018-9-24 19:23:50
feixiang20 发表于 2018-9-13 23:22
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
操作流程:
  ...

这个解释很清晰
感觉应该能搞定
小肥羊dsf 回答时间:2019-3-29 09:15:49
feixiang20 发表于 2018-9-13 23:22
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
操作流程:
  ...

我输出是内部8M啊我看代码也没有错
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版