你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于DMX512协议的C程序

[复制链接]
Andy982615 提问时间:2012-4-30 21:05 /
最近在学习STM32,在论坛下了很多资料,“老杀鸡不养鸡”实在有点说不过去,最近写了几个关于DMX方面的]程序,调试效果不错!现在贴出来供大家分享!
#include  10)
     DMXCount = 0;
    ChanCount = 0;
    ChanAddr = 0;
    
   }
   else if(RB8==1)
   {
    if(ChanCount < 513)
     ChanCount ++; 
  
    if((ChanCount == 1) && (SBUF == 'A') && (AddrFlagCount < 10)) //修改地址
     AddrFlagCount ++;
    if((ChanCount == 1) && (SBUF != 'A')) //不修改地址
     AddrFlagCount = 0;
    if(AddrFlagCount > 5)
     AddrFlag = 1;
    else
     AddrFlag = 0;
    if((AddrFlag == 1) && (ChanCount == 2))
     AddrH = SBUF;
    if((AddrFlag == 1) && (ChanCount == 3))
     AddrL = SBUF;
    if(AddrFlag == 0)
    {
     if(ChanCount == 1)
     {
      Channel[0] = SBUF;
      ChanAddr ++;
     }
     if((ChanCount > Addr) && (ChanCount  50)
  {
   ScanCount = 0;
   if(DMXCount < 1030)
    DMXCount ++;
   //ADC
   if(ADCSelect == 0)
   {
    if((ADC_CONTR & 0x10) == 0)
    {
     ADC_CONTR &= 0xF8;
     ADC_CONTR |= 0x08;     
    }
    else
    {
     ADCData1 = ADC_DATA; 
     ADC_CONTR &= 0xEF;
     ADCSelect = !ADCSelect;
    }
   }
   else
   {
    if((ADC_CONTR & 0x10) == 0)
    {
     ADC_CONTR &= 0xF8;
     ADC_CONTR |= 0x09;     
    }
    else
    {
     ADCData2 = ADC_DATA;
     ADC_CONTR &= 0xEF;
     ADCSelect = !ADCSelect;
    }
   } 
 
   //温控处理.
   PowerDownC ++;
   if(PowerDownC > 2800)
   {
    PowerDownC = 0;
  
    if(ADCData1 > 205) 
    {    
     if(FallCnt > 0)
      FallCnt --;    
    }
    else
    {    
     if(FallCnt < 128)
      FallCnt ++;    
    } 
   }
  }
  
//  if(DMXCount < 65530)
//   DMXCount ++; 
  if(DMXCount > 1000)
  {    
   CCAP0H = 255 * FallCnt / 128;  //调光.
   CCAP1H = 255 * FallCnt / 128;  //调光.
   CCAP2H = 255 * FallCnt / 128;  //调光.
  }  
  else
  {
   CCAP0H = Channel[1] * FallCnt / 128;  //调光.
   CCAP1H = Channel[2] * FallCnt / 128;  //调光.
   CCAP2H = Channel[3] * FallCnt / 128;  //调光.
  }  
 }
}
 
收藏 评论0 发布时间:2012-4-30 21:05

举报

0个回答

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版