本帖最后由 陳聖文 于 2018-4-13 09:35 编辑
未命名.png (95.63 KB, 下载次数: 0)
下载附件
2018-4-13 09:23 上传
小弟我正在研究STM32F030R8的USART
用STM32cubeMX輸出的範例
剛剛看到 oversampling 有一絲不解,過採樣是啥?
咱認為是一個位元內同時取樣多次,可以提升精準度
只是...實在看不懂阿@@
還請各位大大幫忙解惑
另外想問下...是不是和OneBitSampling有關?
-
- huart2.Instance = USART2;
- huart2.Init.BaudRate = 115200;//鮑率
- huart2.Init.WordLength = UART_WORDLENGTH_8B;//位元數,這裡選取8位元
- huart2.Init.StopBits = UART_STOPBITS_1;//停止位元,這裡選擇1個停止位元
- huart2.Init.Parity = UART_PARITY_NONE;//校準位元,這裡選擇不校準
- huart2.Init.Mode = UART_MODE_TX_RX;//模式,這裡選擇TXRX,也就是雙向模式
- huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;//是否啟用量控制,就是RS232的交握協定用的那個,這裡選擇不用
- huart2.Init.OverSampling = UART_OVERSAMPLING_16;//過採樣設定,一個位元內採樣幾次,以提高精度,因為有可能一個bit的理論時間內,實際出現了短暫的異常電位,這可能是時鐘容差或是電容效應
- huart2.Init.OneBitSampling = UART_ONEBIT_SAMPLING_DISABLED ;
- huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- HAL_UART_Init(&huart2);
复制代码
一周热门 更多>