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

有關BAUD的問題

[复制链接]
prince6150 提问时间:2011-9-27 16:46 /
我是用USB連RS-232用終端機的發送接收我量測波形大概是10KHz,但是我的UART1量測出來大概是13KHz,我的BAUD都是設定9600,我想去調整RCC的頻率,但是怎麼調整都還是13KHz,以下是我RCC的程式碼。
void RCC_Configuration(void)
{
 ErrorStatus HSEStartUpStatus;
 /* RCC system reset(for debug purpose) */
 RCC_DeInit();
 
 /* Enable HSE */
 RCC_HSEConfig(RCC_HSE_ON);
 
 /* Wait till HSE is ready */
 HSEStartUpStatus = RCC_WaitForHSEStartUp();
 
 if(HSEStartUpStatus == SUCCESS)
 {
  /* Enable Prefetch Buffer */
  FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
 
  /* Flash 2 wait state */
  FLASH_SetLatency(FLASH_Latency_2);
 
  /* HCLK = SYSCLK */
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
 
  /* PCLK2 = HCLK */
  RCC_PCLK2Config(RCC_HCLK_Div1);
 
  /* PCLK1 = HCLK/2 */
  RCC_PCLK1Config(RCC_HCLK_Div2);
 
  /* PLLCLK = 8MHz * 9 = 72 MHz */
  RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
 
  /* Enable PLL */
  RCC_PLLCmd(ENABLE);
 
  /* Wait till PLL is ready */
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  {
  }
 
  /* Select PLL as system clock source */
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
 
  /* Wait till PLL is used as system clock source */
  while(RCC_GetSYSCLKSource() != 0x08)
  {
  }
 }
  
 /* Enable GPIOD and USART1 clocks */
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
 
 
 
 RCC_PCLK2Config(RCC_HCLK_Div1);
這個是調整UART1的CLOCK不是嗎??我不管把它改成RCC_HCLK_Div2    RCC_HCLK_Div4   RCC_HCLK_Div8都沒用
還是說不是調整這個       請高手幫我解答
收藏 评论4 发布时间:2011-9-27 16:46

举报

4个回答
废鱼 回答时间:2011-9-27 20:31:27

RE:有關BAUD的問題

RCC_PCLK2Config(RCC_HCLK_Div1);这个是配置CLK2的时钟的,不是配置USART的时钟。
prince6150 回答时间:2011-9-28 09:22:07

回复:有關BAUD的問題

那請問我要怎麼調整,讓我的頻率可以一樣,搞了好幾天了
prince6150 回答时间:2011-9-28 10:22:14

回复:有關BAUD的問題

找到問題了,剛剛去看了http://www.ec66.com/article/list.asp?indexid=4486這篇教學,我的外振是12MHz,要去調整HSE_VALUE的值從8M改12M,我的定義位置跟他的不一樣,我的是在stm32f10x.h裡面,難怪我的BAUD率怪怪的,因為他用8M下去做計算。
強推http://www.ec66.com/article/list.asp?indexid=4486
废鱼 回答时间:2011-9-28 14:29:11

RE:有關BAUD的問題

1、你设置的系统时钟,通过分频、倍频以后,达到72Mhz
2、系统时钟的配置和外部晶振有直接的关系
3、串口波特率是在系统时钟72Mhz下面的配置,你要把系统时钟配置到72M才行。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版