找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1982|回复: 0
打印 上一主题 下一主题
收起左侧

基于STM32的小四轴飞行器PCB与源程序

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. /* Includes ------------------------------------------------------------------*/
  2. #include "stm32f10x.h"
  3. #include "BSP.H"
  4. #include "uart1.h"
  5. #include "rc.h"

  6. #include "I2C_MPU6050.h"                //定义6050初始化
  7. #include "control.h"

  8. #define CLI()      __set_PRIMASK(1)  
  9. #define SEI()      __set_PRIMASK(0)
  10. ////////////////////////////////////////////////////////////////////////////////
  11. void SYS_INIT(void)
  12. {

  13.         LED_INIT();                        //LED及串口IO 初始化
  14.         LED_FLASH();                //LED闪烁
  15.         Tim3_Init(500);        //中断初始化 //1000=1MS,500=0.5MS
  16.         Moto_Init();          //PWM
  17.        
  18.         Uart1_Init(115200);        //串口初始化,飞控上几乎无用
  19.         //Uart1_Send_RCdata();
  20.         Spi1_Init();                //SPI初始化
  21.         Nvic_Init();                //中断初始化
  22.         Nrf24l01_Init(MODEL_TX2,40);        //2401中断初始化  主发送 通道 40
  23.        
  24.         if(Nrf24l01_Check())        Uart1_Put_String("NRF24L01 IS OK !\r\n");                        //检测2401是否初始化成功
  25.         else                                                                         Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");
  26.        
  27. //        tmp = Single_ReadI2C(0x75);
  28. //  Uart1_Put_Char(tmp);
  29.         InitMPU6050();
  30. //        Uart1_Put_String("InitMPU6050 IS OK !\r\n");
  31.         ADC1_Init();                //检测电池电压
  32. //                Uart1_Put_String("ADC1_Init IS OK !\r\n");
  33.         FLASH_Unlock();        //保存飞飞控参数
  34.         EE_INIT();
  35.         EE_READ_ACC_OFFSET();
  36.         EE_READ_GYRO_OFFSET();
  37.         EE_READ_PID();
  38.        
  39.         PID_ROL.P = PID_PIT.P = 5;        //用于初始化pid,如用匿名上位机写入pid,则屏蔽
  40.         PID_ROL.D = PID_PIT.D = 0.1;                       
  41.         PID_YAW.P = 0.5;       
  42.         PID_YAW.D = 0.05;                       
  43. }
  44. ////////////////////////////////////////////////////////////////////////////////
  45. int main(void)
  46. {       
  47.         SYS_INIT_OK=0;        //初始化标志
  48.         SYS_INIT();
  49.         SYS_INIT_OK=1;
  50.   Uart1_Put_String("SYS_INIT IS OK !\r\n");
  51.         while (1)
  52.         {                       
  53.         LED3_ON;
  54.         Delay_ms_led(10);
  55.         LED3_OFF;
  56.         Delay_ms_led(50);

  57.         }
  58. }
  59. ////////////////////////////////////////////////////////////////////////////////
复制代码

所有资料51hei提供下载:
四轴带飞控.7z (1.94 MB, 下载次数: 71)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表