哎呀妈,程序一下载结束,空心杯飞一般的转啊,吓我一跳,擦
大清明的,都没人在学校,自己录视频太难了。。。
上图片吧。。。
一个人拍照,差点被浆打我手了。。。
来点关键代码,(在1L的分享中有工程文件)
额,咋回事,在我的工程里都是汉字啊。。。
怎么现在注释都是乱码啊。。
好饿,准备吃饭。
清明孤孤单单啊,今天风大,也不能去飞了,等明天把。。
/*******************************************************************************
* º¯ÊýÃû : GPIO_Configuration
* º¯ÊýÃèÊö : ÉèÖø÷GPIO¶Ë¿Ú¹¦ÄÜ
* ÊäÈë²ÎÊý : ÎÞ
* Êä³ö½á¹û : ÎÞ
* ·µ»ØÖµ : ÎÞ
*******************************************************************************/
void GPIO_Configuration(void)
{
/* ¶¨Òå GPIO ³õʼ»¯½á¹¹Ìå GPIO_InitStructure */
GPIO_InitTypeDef GPIO_InitStructure;
/* ÉèÖà GPIOA É쵀 TIM2 1£¬2£¬3£¬4ͨµÀ¶ÔÓ¦Òý½Å PA.0,PA.1,PA.2,PA.3 ΪµÚ¶þ¹¦ÄÜÍÆÍìÊä³ö */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
/*******************************************************************************
* º¯ÊýÃû : TIM_Configuration
* º¯ÊýÃèÊö : ÉèÖÃTIM¸÷ͨµÀ
* ÊäÈë²ÎÊý : ÎÞ
* Êä³ö½á¹û : ÎÞ
* ·µ»ØÖµ : ÎÞ
*******************************************************************************/
void TIM_Configuration(void)
{
/* ¶¨Òå TIM_TimeBase ³õʼ»¯½á¹¹Ìå TIM_TimeBaseStructure */
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* ¶¨Òå TIM_OCInit ³õʼ»¯½á¹¹Ìå TIM_OCInitStructure */
TIM_OCInitTypeDef TIM_OCInitStructure;
/*
* ¼ÆÊýÖØÔØÖµÎª9999
* Ô¤·ÖƵֵΪ(0+ 1 = 1)
* ʱÖÓ·Ö¸î0
* ÏòÉϼÆÊýģʽ
*/
TIM_TimeBaseStructure.TIM_Period = 60000;
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2 , &TIM_TimeBaseStructure);
/* ÉèÖà OC1,OC2,OC3,OC4 ͨµÀ
* ¹¤×÷ģʽΪ PWM Êä³öģʽ
* ʹÄÜ±È½ÏÆ¥ÅäÊä³ö¼«ÐÔ
* ʱÖÓ·Ö¸î0
* ÏòÉϼÆÊýģʽ
*
* ÉèÖø÷Æ¥ÅäÖµ·Ö±ðΪ CCR1_Val, CCR1_Val, CCR1_Val, CCR1_Val
* µÃµ½µÄÕ¼¿Õ±È·Ö±ðΪ 50%, 37.5%, 25%, 12.5%
*/
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse = CCR1_Val;
TIM_OC1Init(TIM2, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse = CCR2_Val;
TIM_OC2Init(TIM2, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse = CCR3_Val;
TIM_OC3Init(TIM2, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse = CCR4_Val;
TIM_OC4Init(TIM2, &TIM_OCInitStructure);
/* ʹÄÜÔ¤×°ÔØ¼Ä´æÆ÷ */
TIM_OC1PreloadConfig(TIM2 , TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM2 , TIM_OCPreload_Enable);
TIM_OC3PreloadConfig(TIM2 , TIM_OCPreload_Enable);
TIM_OC4PreloadConfig(TIM2 , TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM2, ENABLE);
/* Æô¶¯ TIM ¼ÆÊý */
TIM_Cmd(TIM2 , ENABLE);
}
DMP测试,串口回传欧拉角及四元数。
附工程文件,希望有兴趣的亲可以测试一下。
目前发现的问题:
1,串口波特率比程序设置的要高一倍,我设置的9600,,实际使用是19200才能正常发送。 (这个问题解决了,龙哥用的是16M的晶振,我的设置是8M。改正方法,在STM32F10X.h里第103行,把HSE_VALUE的值定义为16000即可)
2,还是串口的问题,串口打开时间过长,会出现乱码。
3,仍然是串口问题,不进入仿真调试,没法将数据发回来。
同时我在DMP及串口回传的基础上,加上了遥控油门的代码,已加注释。
DMP V1.0 遥控油门
——回复可见内容——
附视串口回传欧拉角及四元数视频:
这讲四元数,欧拉角的,还不错 :http://www.cnblogs.com/wqj1212/archive/2010/11/21/1883033.html
下面视频是讲欧拉角旋转产生的万向锁问题:
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取磁力计iis2mdc被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取LPS22HH气压、温度被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取STTS751温度被打赏¥17元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
我要赚赏金
