历史上的今天
返回首页

历史上的今天

今天是:2024年09月09日(星期一)

正在发生

2019年09月09日 | STM32l151带MPU6050中断唤醒并发送数据到云平台

2019-09-09 来源:eefocus

最近在调试STM32L151带mpu6050的中断唤醒的项目,下面写一下项目经历:


1.首先贴出我的主函数


int main(void)

 

SystemInit();

delay_init(72);  //初始化延时函数

 

MY_GPIO_AN();//全部 模拟输入

//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2

  Base_TIM6_Init();

uart_init(115200); //初始化串口波特率为115200

  SYS_RTCInit(60*5); //12h*/

RTC_WakeUpCmd(DISABLE);

ADC_SX_DMA_Config(); //初始化 四项电压采集 A 046

  GPIO_Setup(); //开机和电源引脚

LS_A9500_PWL;

  LS_A9500_KEYL;

  GpioState1 = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8);

C_Get_State();

 // MPU_Init_agin();

 

while(1)

{

if((RTC_flag==1)||QD_Wakeup_Flag==1||first_flag==1)

{

uart_init(115200); //初始化串口波特率为115200

  delay_ms(26);

    GPIO_Setup();//9500开关

LS_A9500_PWL;

    LS_A9500_KEYL;

if(Turn_ON_A9500())

{

int m=0;

if(gprs_init())

{  

MPUAGAIN:

     m++;

   MPU_Init_agin();

for(i=0;i<10;i++)

if(m>10)

break;

MPU_Get_Accelerometer(&aacx,&aacy,&aacz); //得到加速度传感器数据

MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //得到陀螺仪数据

//    imuUpdate(aacx, aacy, aacz, gyrox, gyroy, gyroz,x3, y3, z3,&quaNow);//姿态解算结果

lmd=32767/2; //计算 加速度计灵敏度

ax=aacx/lmd;  //x轴加速度

ay=aacy/lmd;

az=aacz/lmd;

 

pr=-aacx/sqrt(aacz*aacz+aacy*aacy); 

rr=aacy/sqrt(aacz*aacz+aacx*aacx);

 

pitch=((atan(pr)*180)/3.1415926); //俯仰角

roll=((atan(rr)*180)/3.1415926);//横滚角

 

   if(pitch==0||roll==0)

goto MPUAGAIN;

else break;

a = pitch*100;

c = roll*100;

 

b =(int)a;

if(b<0)

b=abs(b);

 

d=(int)c;

if(d<0)

d=abs(d);

 

USART0_TX_Buffer[18]=b>>8; //将b转化为16进制  并放在数组的28 、29两个字节内

USART0_TX_Buffer[19]=b;

 

USART0_TX_Buffer[20]=d>>8;

USART0_TX_Buffer[21]=d;

 C_Get_State();

if(RTC_flag==1)

  for(i=0;i<1;i++)

 {

    {                                         

        //free_UART0_Recv_Buffer();//清除串口2接收

       Send_to_Server();//上传数据到云平台 

       //free_UART0_Recv_Buffer();

    }

}  

 

if(first_flag==1)

{

    for(i=0;i<1;i++)

  {

 

        Send_to_Server();//上传数据到云平台

   }

}

if(QD_Wakeup_Flag==1)

   {

   for(i=0;i<1;i++)

{

Send_to_Server();//上传数据到云平台

}

  }

 

    } // if(gprs_init())

 

}//if(Turn_ON_A9500())

  RTC_flag=0;

  QD_Wakeup_Flag=0;

  first_flag=0;

}//if(RTC_flag==1|First_flag==1)

else if((0 == QD_Wakeup_Flag)&&(0 == RTC_flag)&&(0==first_flag)){

delay_init(72);  //初始化延时函数

MPU_Init();//mpu6050低功耗初始化

Turn_OFF_A9500();

mpu6050int_init();//外部中断初始化

RCC_Enter_Stop();//进入低功耗

Delay_ms(1000);

  

                 }

 }//大while

}//main

推荐阅读

史海拾趣

友盟(AP)公司的发展小趣事

友盟(AP)公司深知人才是企业发展的核心动力。因此,公司一直注重人才团队的建设和发展。通过招聘优秀人才、提供完善的培训体系和激励机制,友盟成功打造了一支高素质、专业化的团队。这支团队不仅具备深厚的技术功底和创新能力,还具备敏锐的市场洞察力和执行力,为公司的快速发展提供了有力保障。

DREMEL公司的发展小趣事

为了进一步扩大市场份额,Dremio公司积极寻求与电子行业的跨界合作。他们与一家知名电子设备制造商达成战略合作,共同开发了一款集成了Dremio数据处理技术的智能设备。这款设备能够实时收集和分析设备使用数据,为企业提供更精准的市场分析和产品优化建议。通过这一合作,Dremio成功将技术应用于电子设备的全生命周期管理,进一步巩固了其在市场中的地位。

DMC Tools公司的发展小趣事

DMC Tools公司自创立之初,就注重技术创新。早期,公司研发团队针对电子行业对高精度工具的需求,成功开发出一系列具有自主知识产权的精密切割工具。这些工具不仅提高了生产效率,还降低了生产成本,迅速在市场上获得了认可。随着技术的不断进步,DMC Tools公司不断推出新产品,满足电子行业日益增长的需求,逐步在市场上树立了自己的品牌。

智浦欣(Chipstar)公司的发展小趣事

随着公司规模的不断扩大和业务的快速发展,智浦欣公司意识到,必须加强内部管理和人才培养才能确保公司的持续健康发展。于是,公司引进了一套先进的管理体系和人才培养计划。在管理体系方面,公司建立了完善的组织架构和业务流程,提高了工作效率和协同能力;在人才培养方面,公司注重员工的个人发展和职业规划,提供了多样化的培训和学习机会,激发了员工的工作热情和创新能力。

EMS GmbH公司的发展小趣事

近年来,随着汽车行业向电动化、智能化方向发展,汽车转换器注塑件的需求也发生了变化。EMS GmbH公司积极应对行业挑战,加大研发投入,推动产品向智能化、绿色化方向转型。同时,公司还关注新兴领域的发展机会,如新能源汽车、自动驾驶等领域,寻求新的增长点。这些努力使EMS GmbH公司能够保持行业领先地位,并在未来市场中保持竞争力。

Alpha (Taiwan)公司的发展小趣事

在电子产品市场竞争激烈的背景下,Alpha (Taiwan)公司始终坚持品质至上的原则。公司建立了严格的质量管理体系,从原材料采购到生产流程,再到产品出厂,每一个环节都进行严格把控。同时,公司还定期对员工进行品质意识培训,确保每一位员工都能充分认识到品质对于公司发展的重要性。正是凭借这种对品质的执着追求,Alpha (Taiwan)公司的电子产品在市场上赢得了良好的口碑,赢得了众多客户的信赖。

问答坊 | AI 解惑

近期IC创业三大怪(转)

近期,遇到IC创业的三大怪 第一怪、海归当做添头卖 有好几个创业团队,均本土的,找到我,要我帮他们猎几个留学生,只要是有海外学历并工作过几年的,目的是写进核心团队里,装装门面,以便申报项目时能够增加评分的分数,可以申报多点资金。要求 ...…

查看全部问答>

wince如何连接网络打印机?

在wm5.0中如何连接网络打印机, 网络打印机是在公网上的一台共享打印机, 需要在wm5.0中连接上这台共享打印机, 并打印wm5.0中的内容. 哪位高手能够提供一点思路…

查看全部问答>

急急急急急急急急急急急!!!!!!最近在接触英特尔手册中的APIC,谁能告诉我触发模式是什么???高手请进

Trigger mode 触发模式。分为edge,level两种触发方式 电子课几乎没听过,我在学APIC时碰到的,谁能给我简单的说说触发模式是什么,通俗点最好,结合APIC说说,万分感谢了!!!!!!!!…

查看全部问答>

请教大家,将wince6.0升级到r3之后,explorer无法启动,进者有分

我将wince6.0升级到r3之后,重新编译原来在r2下通过的工程,编译成功后down到开发板上运行。 发现桌面无法加载,看打印消息,发现没有打印如下信息: explorer(v2.0) taskbar thread started 而taskbar的進程就是explorer.exe。 而且我发现ceco ...…

查看全部问答>

请教关于高精度AD变换

    请教各位大侠,如果希望做高精度AD变换,如稳定度需要达到16位,应该用单片机上自带的24位的AD变换器好呢?还是用专门的24的AD变换芯片好呢?…

查看全部问答>

GlobalLogic 急聘Mobile Development Lead

Job Responsibilities: l           Lead development team to ensure development projects are delivered to clients in a timely manner and meet the company\'s standard of quality and requiremen ...…

查看全部问答>

交流贴-面向状态的嵌入式开发框架

首先声明,以下只是我的个人想法,具体可行性和实现,还需要经过很过拷问 开始了 在做单片机开发的时候,特别是中小型的系统中,常常是  输入-》处理-》输出 即是根据不同的输入来处理,然后生成不输出 那么是不是可以这样来理解 将 ...…

查看全部问答>

ISP检测不到硬件(s51)是怎么绘事??急,谢谢 在线等

ISP检测不到硬件(s51)是怎么绘事??急,谢谢 在线等~~~~~~…

查看全部问答>

求个开源的无线路由算法

有么有高人提供个开源的无线路由算法,最好有C代码,做毕业设计用,谢谢…

查看全部问答>

急求做过STM32SDIO的大侠们

我在做一个有关SD卡的项目,项目对SD卡读写速度要求较高。我的芯片是STM32F103ZET6,现在用了一块SDHC的卡,卡的时钟现在用24MHz。4线读写。理论上可以有12MB/S的速度,现在用了STM32提供的V4.2.0版本的库,DMA模式。发现SD_ReadBlock实际读取 ...…

查看全部问答>