国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
STM32測試MPU6050模塊串口輸出的程序
[打印本頁]
作者:
coolice
時間:
2021-12-15 16:20
標題:
STM32測試MPU6050模塊串口輸出的程序
注意事項:
(1)主程序編譯會出現(xiàn)缺乏"stm32f10x_lib.h"文件
解決辦法:在附件中主程序目錄添加附件庫"STM32F10x",在target opition中的C/C++選項卡中的include path路徑中添加"STM32F10x"路徑。
(2)MPU模塊必須與STM32主控板共地,也就是說用板載電源供電最好。(我原先用的單獨供電模塊,結(jié)果串口輸出一直為零)
主程序和庫下載:
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 上傳
點擊文件名下載附件
部分程序代碼:完整程序請下載相關附件
********************************************************************************
** 函數(shù)名稱 : USART1_Configuration(void)
** 函數(shù)功能 : 串口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; // 時鐘第二個邊沿進行數(shù)據(jù)捕獲
USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable; // 最后一位數(shù)據(jù)的時鐘脈沖不從SCLK輸出
/* Configure the USART1 synchronous paramters */
USART_ClockInit(USART1, &USART_ClockInitStructure); // 時鐘參數(shù)初始化設置
USART_InitStructure.USART_BaudRate = 115200; // 波特率為:115200
USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 8位數(shù)據(jù)
USART_InitStructure.USART_StopBits = USART_StopBits_1; // 在幀結(jié)尾傳輸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); //清中斷,以免一啟用中斷后立即產(chǎn)生中斷
USART_ITConfig(USART1,USART_IT_RXNE, ENABLE); //使能USART1中斷源
USART_Cmd(USART1, ENABLE); //USART1總開關:開啟
}
/*
********************************************************************************
** 函數(shù)名稱 : NVIC_Configuration(void)
** 函數(shù)功能 : 中斷初始化
** 輸 入 : 無
** 輸 出 : 無
** 返 回 : 無
********************************************************************************
*/
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);
}
/*
********************************************************************************
** 函數(shù)名稱 : WWDG_Configuration(void)
** 函數(shù)功能 : 看門狗初始化
** 輸 入 : 無
** 輸 出 : 無
** 返 回 : 無
********************************************************************************
*/
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
}
復制代碼
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0