注意事項:
(1)主程序編譯會出現缺乏"stm32f10x_lib.h"文件
解決辦法:在附件中主程序目錄添加附件庫"STM32F10x",在target opition中的C/C++選項卡中的include path路徑中添加"STM32F10x"路徑。
(2)MPU模塊必須與STM32主控板共地,也就是說用板載電源供電最好。(我原先用的單獨供電模塊,結果串口輸出一直為零)
主程序和庫下載:
STM32-串口輸出MPU-6050.zip
(1.86 MB, 售價: 3 E幣)
2021-12-15 16:18 上傳
點擊文件名下載附件
售價: 3 E幣 [記錄]
[ 購買]
STM32F10x.zip
(140.98 KB)
2021-12-15 16:18 上傳
點擊文件名下載附件
部分程序代碼:完整程序請下載相關附件
- ********************************************************************************
- ** 函數名稱 : USART1_Configuration(void)
- ** 函數功能 : 串口1初始化
- ** 輸 入 : 無
- ** 輸 出 : 無
- ** 返 回 : 無
- ********************************************************************************
- */
- void USART1_Configuration(void)
- {
- USART_InitTypeDef USART_InitStructure;
- USART_ClockInitTypeDef USART_ClockInitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 |RCC_APB2Periph_USART1, ENABLE );
- USART_ClockInitStructure.USART_Clock = USART_Clock_Disable; // 時鐘低電平活動
- USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low; // 時鐘低電平
- USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge; // 時鐘第二個邊沿進行數據捕獲
- USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable; // 最后一位數據的時鐘脈沖不從SCLK輸出
- /* Configure the USART1 synchronous paramters */
- USART_ClockInit(USART1, &USART_ClockInitStructure); // 時鐘參數初始化設置
-
- USART_InitStructure.USART_BaudRate = 115200; // 波特率為:115200
- USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 8位數據
- USART_InitStructure.USART_StopBits = USART_StopBits_1; // 在幀結尾傳輸1個停止位
- USART_InitStructure.USART_Parity = USART_Parity_No ; // 奇偶失能
- USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 硬件流控制失能
- USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; // 發(fā)送使能+接收使能
- /* Configure USART1 basic and asynchronous paramters */
- USART_Init(USART1, &USART_InitStructure);
-
- /* Enable USART1 */
- USART_ClearFlag(USART1, USART_IT_RXNE); //清中斷,以免一啟用中斷后立即產生中斷
- USART_ITConfig(USART1,USART_IT_RXNE, ENABLE); //使能USART1中斷源
- USART_Cmd(USART1, ENABLE); //USART1總開關:開啟
- }
- /*
- ********************************************************************************
- ** 函數名稱 : NVIC_Configuration(void)
- ** 函數功能 : 中斷初始化
- ** 輸 入 : 無
- ** 輸 出 : 無
- ** 返 回 : 無
- ********************************************************************************
- */
- void NVIC_Configuration(void)
- {
- NVIC_InitTypeDef NVIC_InitStructure;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
- NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQChannel;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_Init(&NVIC_InitStructure);
- }
- /*
- ********************************************************************************
- ** 函數名稱 : WWDG_Configuration(void)
- ** 函數功能 : 看門狗初始化
- ** 輸 入 : 無
- ** 輸 出 : 無
- ** 返 回 : 無
- ********************************************************************************
- */
- void WWDG_Configuration(void)
- {
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);
- WWDG_SetPrescaler(WWDG_Prescaler_8); // WWDG clock counter = (PCLK1/4096)/8 = 244 Hz (~4 ms)
- WWDG_SetWindowValue(0x41); // Set Window value to 0x41
- WWDG_Enable(0x50); // Enable WWDG and set counter value to 0x7F, WWDG timeout = ~4 ms * 64 = 262 ms
- WWDG_ClearFlag(); // Clear EWI flag
- WWDG_EnableIT(); // Enable EW interrupt
- }
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發(fā)內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業(yè)交易、轉載等行為,該內容只為學習所提供,使用后發(fā)生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|