請問各位有關於STM32 的 USART 的 oversampling 功能及應用

2020-01-10 19:39发布

本帖最后由 陳聖文 于 2018-4-13 09:35 编辑

未命名.png (95.63 KB, 下载次数: 0) 下载附件 2018-4-13 09:23 上传

小弟我正在研究STM32F030R8的USART
用STM32cubeMX輸出的範例
剛剛看到 oversampling 有一絲不解,過採樣是啥?
咱認為是一個位元內同時取樣多次,可以提升精準度
只是...實在看不懂阿@@
還請各位大大幫忙解惑

另外想問下...是不是和OneBitSampling有關?


  1.   huart2.Instance = USART2;
  2.   huart2.Init.BaudRate = 115200;//鮑率
  3.   huart2.Init.WordLength = UART_WORDLENGTH_8B;//位元數,這裡選取8位元
  4.   huart2.Init.StopBits = UART_STOPBITS_1;//停止位元,這裡選擇1個停止位元
  5.   huart2.Init.Parity = UART_PARITY_NONE;//校準位元,這裡選擇不校準
  6.   huart2.Init.Mode = UART_MODE_TX_RX;//模式,這裡選擇TXRX,也就是雙向模式
  7.   huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;//是否啟用量控制,就是RS232的交握協定用的那個,這裡選擇不用
  8.   huart2.Init.OverSampling = UART_OVERSAMPLING_16;//過採樣設定,一個位元內採樣幾次,以提高精度,因為有可能一個bit的理論時間內,實際出現了短暫的異常電位,這可能是時鐘容差或是電容效應
  9.   huart2.Init.OneBitSampling = UART_ONEBIT_SAMPLING_DISABLED ;
  10.   huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
  11.   HAL_UART_Init(&huart2);
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。