// Enable GPIOA clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// Output HSE or other clock on MCO pin PA8 (pin 67)
gpio_init.GPIO_Pin = GPIO_Pin_8;
gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &gpio_init);
// Output HSE or other clock on MCO pin
RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);
PA8开漏或上拉输出,我想做为外设的时钟信号,可是失真严重.不知道上拉怎么样.没试.先请教一下.
有什么办法可以让MCO输出24MHz的时钟信号.
MCO输出不应该有很大失真
请问你在MCO上接的负载有多大?
另外,你的USART1和TIM1怎么用的,是否与MCO有冲突?
最后一个问题,你用的什么芯片?
mco
STM32F103VE
测试时没接负载
TM1未使用,UART配置如下
usart_init.USART_BaudRate = baud_rate;
usart_init.USART_WordLength = USART_WordLength_8b;
usart_init.USART_StopBits = USART_StopBits_1;
usart_init.USART_Parity = USART_Parity_No ;
usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
usart_clk_init.USART_Clock = USART_Clock_Disable;
usart_clk_init.USART_CPOL = USART_CPOL_Low;
usart_clk_init.USART_CPHA = USART_CPHA_2Edge;
usart_clk_init.USART_LastBit = USART_LastBit_Disable;
gpio_init.GPIO_Pin = GPIO_Pin_9;
gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &gpio_init);
/* Configure GPIOA.10 as input floating */
gpio_init.GPIO_Pin = GPIO_Pin_10;
gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &gpio_init);
请问斑竹,能用PWM输出24MHz的方波吗,占空比1:1
请把失真波形贴出来看看
如果定时器的时钟频率为48MHz,则可以产生24MHz占空比是1:1的方波。
如果定时器的时钟频率为72MHz,则可以产生24MHz占空比是1:2的方波。
STM32的MCO输出
STM32的MCO输出,我试过,24MHz应该失真不大,48MHz就象正弦波了,72MHz基本上是正弦波。
STM32的MCO输出没有什么问题
STM32的输出速度最快为50MHz,所以只要输出频率小于等于50MHz,输出的信号都不会失真,这一点勿庸置疑,我已经测试过;当输出频率超过50MHz时,频率有失真现象,但是更主要的时频率变小了,我测试输出72MHz时,输出的频率只有71.6MHz。
上图才是硬道理
我的测试环境:
8MHz = HSE
PLL输出 = 72MHz, 作为SYSCLK
MCO输出8MHz
MCO输出PLL/2 = 36MHz
MCO输出SYSCLK = 72MHz
P.S 我用的示波器:
型号:Agilent infiniim 54831D MSO
特性:600MHz带宽,4G次采样/每秒
无图无真相
MCO输出8MHz
MCO输出8MHz放大
MCO输出36MHz
MCO输出36MHz放大
MCO输出72MHz
看来我没记错
看来我没记错:“24MHz应该失真不大,48MHz就象正弦波了,72MHz基本上是正弦波。”跟上面的图比较符合。
72MHZ,请不 要忽略PCB走线的影响
72MHZ失真,请不要忽略PCB走线的影响,输出的频率只有71.6MHz。检测你 的晶体频率离8.000MHZ(9倍频)有多远。
STM32 GPIO模块的最大带宽只有50MHz,不能输出72MHz方波
从10楼贴出的波形看,至少36MHz的输出波形是很好的,所以楼主要求输出24MHz应该是没有问题的。
请楼主贴出你的波形,比较一下。