77范文网 - 专业文章范例文档资料分享平台

陀螺仪介绍及编程(3)

来源:网络收集 时间:2020-06-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

{

/* 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) {

/* HCLK = SYSCLK */

RCC_HCLKConfig(RCC_SYSCLK_Div1);

/* PCLK2 = HCLK */

RCC_PCLK2Config(RCC_HCLK_Div1);

/* PCLK1 = HCLK/2 */

RCC_PCLK1Config(RCC_HCLK_Div2);

/* Flash 2 wait state */

FLASH_SetLatency(FLASH_Latency_2); /* Enable Prefetch Buffer */

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

/* 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 GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB , ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG | RCC_APB2Periph_AFIO , ENABLE); } /*

********************************************************************************

** 函数名称 : GPIO_Configuration(void) ** 函数功能 : 端口初始化 ** 输 入 : 无 ** 输 出 : 无 ** 返 回 : 无

********************************************************************************

*/

void GPIO_Configuration(void) {

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE );

/* Configure USART1 Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; // 选中管脚9 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 最高输出速率50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); // 选择A端口

/* Configure USART1 Rx (PA.10) as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //选中管脚10 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure); //选择A端口 } /*

********************************************************************************

** 函数名称 : 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 =9600; 115200 据

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; // 发送使能+接收使能

/* 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总开关:开启 }

// 时钟参数

// 波特率为:

// 8位数

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

/*

********************************************************************************

** 函数名称 : 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 } /*

********************************************************************************

** 函数名称 : Delay(vu32 nCount) ** 函数功能 : 延时函数 ** 输 入 : 无 ** 输 出 : 无 ** 返 回 : 无

********************************************************************************

*/

void Delay(vu32 nCount) {

for(; nCount != 0; nCount--); } /*

********************************************************************************

** 函数名称 : void Delayms(vu32 m)

** 函数功能 : 长延时函数 m=1,延时1ms ** 输 入 : 无 ** 输 出 : 无 ** 返 回 : 无

********************************************************************************

*/

void Delayms(vu32 m) {

u32 i;

for(; m != 0; m--)

for (i=0; i<50000; i++); } /*

********************************************************************************

** 函数名称 : WWDG_IRQHandler(void) ** 函数功能 : 窗口提前唤醒中断

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库陀螺仪介绍及编程(3)在线全文阅读。

陀螺仪介绍及编程(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1098309.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: