找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3619|回復: 2
打印 上一主題 下一主題
收起左側(cè)

STM32F103四旋翼代碼一套分享

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:359046 發(fā)表于 2018-6-26 09:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以前做四軸入門時候?qū)懙拇a,用的STM32F103ZET6最小系統(tǒng),包括遙控器接收、6050、姿態(tài)解算、三軸PID(需要調(diào)),
可在此基礎(chǔ)上加定高、攝像頭循線、菜單等等程序
中斷匯總:
tim6中斷(LED閃爍中斷):搶占3  響應3

tim5中斷(系統(tǒng)運行中斷):搶占1  響應0

tim4中斷(PWM捕獲中斷):搶占0 響應3


//輸入通道:TIM4
//CH1       CH2       CH3       CH4     
//PB6       PB7       PB8       PB9      
//roll      pitch     thr       yaw

//電機輸出通道:TIM3
//CH1       CH2       CH3       CH4      
//PA6       PA7       PB0       PB1      



//USART1:數(shù)據(jù)輸出
TX-PA9  RX-PA10


//光流傳感器
spi2:
PB12    SPI2_NSS
PB13    SPI2_SCK
PB14    SPI2_MISO
PB15    SPI2_MOSI
//lcd5110
模擬spi:



2.7版本更新日志

更改key的按鍵io


單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "myiic.h"
  3. #include "systime.h"
  4. #include "mpu6050.h"
  5. #include "imu.h"
  6. #include "control.h"
  7. #include "rc.h"
  8. #include "motor.h"
  9. #include "delay.h"
  10. #include "stdio.h"


  11.         u8 i,key=0,j;
  12.         u8 f1,f2,f3;
  13.         u8 linelcd=1; u8 pagelcd=1;
  14.         
  15.         
  16. //GPIO初始化示例
  17. // void GPIO_Configuration(void)
  18. //  {
  19. //    GPIO_InitTypeDef GPIO_InitStructure;              //定義一個結(jié)構(gòu)體
  20. //        GPIO_InitStructure.GPIO_Pin        = GPIO_Pin_2;//選擇LED管腳
  21. //          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //管腳頻率為50MHZ
  22. //          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //模式為推挽輸出
  23. //          GPIO_Init(GPIOD, &GPIO_InitStructure);   //初始化GPIOB寄存器
  24. //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_8;
  25. //    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  26. //    GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP; //推挽輸出
  27. //    GPIO_Init(GPIOA, &GPIO_InitStructure);
  28. //  }


  29. int main(void)
  30. {
  31.           SystemInit();//初始化時鐘
  32.           NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置優(yōu)先級分組 2
  33.       
  34.            
  35.           delay_init(72);                                                                        //延時函數(shù)初始化

  36.                
  37.     I2C_Init_IO();                                                                          // 初始化IIC(6050)                                                                                 
  38.     MPU6050_INIT();       //初始化6050
  39.     delay_ms(1000);
  40.     MPU6050_INIT();

  41.     PID_Init();//PID數(shù)值初始化
  42.           Motor_Init(25);//PWM輸出初始化
  43.     RC_Init();//遙控器接收初始化(遙控器數(shù)值放在RC_CH[X]數(shù)組中)

  44.     ACC_SET_OFFSET();//加速度計水平校準
  45.           GYRO_SET_OFFSET();//陀螺儀零偏校準
  46.         //Data_Send_Offset(ACC_OFFSET.X,ACC_OFFSET.Y,ACC_OFFSET.Z,GYRO_OFFSET.X,GYRO_OFFSET.Y,GYRO_OFFSET.Z);//發(fā)送加速度計 陀螺儀偏移值
  47.           System_Time_Init();         
  48.                

  49. while(1)
  50. {                                                               


  51. }   
  52.                  

  53.         
  54.                

  55. }



復制代碼

所有資料51hei提供下載:
2.7最簡.rar (905.88 KB, 下載次數(shù): 82)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:405372 發(fā)表于 2018-11-30 17:21 | 只看該作者
我拿去學習了
回復

使用道具 舉報

板凳
ID:194884 發(fā)表于 2018-12-1 15:44 | 只看該作者
學習學習
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表