欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1705|回復: 0
打印 上一主題 下一主題
收起左側

風力擺的主要程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:596223 發表于 2019-8-6 16:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
int main(void)
{
unsigned char Temp[11];
u8 t;
RCC_Configuration(); // 初始化時鐘
GPIO_Configuration(); // 初始化 IO 端口
delay_init(72); // 初始化延時函數
NVIC_Configuration(); // 中斷優先級初始化
  LED_Init();        // 初始化與 LED 連接的硬件接口
  KEY_Init();   // 初始化與按鍵連接的硬件接口
  LED0=1;          // 點亮 LED

USART1_Config(); // 初始化   配置 USART1
USART2_Config(); // 初始化   配置 USART2  (用于接收 MPU6050 數據)
TIM3_PWM_Init(1000-1,719); // 1 分頻   周期  1/72000  頻率  
TIM_SetCompare1(TIM3,200); //  設置占空比  20%GPIOC-> 6,7,8,9
TIM_SetCompare2(TIM3,0); // 設置占空比  40%
TIM_SetCompare3(TIM3,0); // 設置占空比  60%
TIM_SetCompare4(TIM3,0); // 設置占空比  80%
if(sign)
{
memcpy(Temp,Re_buf,11);
sign=0;
if(Re_buf[0]==0x55) // 檢查幀頭
{
switch(Re_buf[1])
{
case 0x51: // 標識這個包是加速度包
a[0] = ((short)(Temp[3]<<8 | Temp[2]))/32768.0*16; //X 軸加速度
a[1] = ((short)(Temp[5]<<8 | Temp[4]))/32768.0*16; //Y 軸加速度
a[2] = ((short)(Temp[7]<<8 | Temp[6]))/32768.0*16; //Z 軸加速度
T = ((short)(Temp[9]<<8 | Temp[8]))/340.0+36.25; // 溫度
break;
case 0x52: // 標識這個包是角速度包
w[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*2000; //X 軸角速度
w[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*2000; //Y 軸角速度
w[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*2000; //Z 軸角速度
T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; // 溫度
break;
case 0x53: // 標識這個包是角度包
angle[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*180; //X 軸滾轉角
angle[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*180; //Y 軸俯仰角
angle[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*180; //Z 軸偏航角
T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; // 溫度
               
break;
default: break;
}
}
}
if(mode==1)
{
if(angle[0]<10&&angle[0]>-10)  
{
if((angle[0]<0&&w[0]<0)||(angle[0]>0&&w[0]>0))
{
   TIM_SetCompare1(TIM3,0); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,1000); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4
}
   else
   {
   if((angle[0]>0&&w[0]>0)||(angle[0]<0&&w[0]>0))
   {
   TIM_SetCompare1(TIM3,1000); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,0); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4
   }
   else
   {
   TIM_SetCompare1(TIM3,1000); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,1000); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4
   }
   }
}
   else
   {
   TIM_SetCompare1(TIM3,1000); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,1000); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4      
         }
}
if(mode==2)
{
   LED0=0;
   if(KEY0==0)// 按鍵選擇要擺動的直線長度
     {
delay_ms(10);
     if(KEY0==0) //key0 按一下直線長度加 10  默認是 30
     {
       length=length+10;
       while(!KEY0);
     }
   } if(KEY1==0)
   {
   delay_ms(10);
   if(KEY1==0)
{
   length=length+10; //key0 按一下直線長度減 10  默認是 30
   while(!KEY1);
}
} if(WK_UP==1)// 開始執行設定的值
     {delay_ms(10);
     if(WK_UP==1)
     {  mode2=1;
       while(WK_UP);
     } }
   if(mode2==1)
   { if(length==30)
       jiao=jiao_du[0];
     if(length==40)
       jiao=jiao_du[1];
     if(length==50)
       jiao=jiao_du[2];
     if(length==60)
       jiao=jiao_du[3];
   if(angle[0]<10&&angle[0]>-10)  
       {
   if((angle[0]<0&&w[0]<0)||(angle[0]>0&&w[0]>0))
     {
       TIM_SetCompare1(TIM3,0); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,1000); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4
       }
         else
       {
         if((angle[0]>0&&w[0]>0)||(angle[0]<0&&w[0]>0))
         {
       TIM_SetCompare1(TIM3,1000); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,0); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4
         } else {
       TIM_SetCompare1(TIM3,1000); //  設置占空比  20% 風扇 1
TIM_SetCompare2(TIM3,1000); // 設置占空比  40%  風扇 2
TIM_SetCompare3(TIM3,1000); // 設置占空比  60% 風扇 3
TIM_SetCompare4(TIM3,1000); // 設置占空比  80% 風扇 4 }
         
     }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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