亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dmx.c

?? Light dimmer application firmware code.
?? C
字號:
/*
 * Digital AC Dimmer
 *
 * Copyright (c) 2005-2006 Chris Fallin <chris@cfallin.org>
 * Placed under the modified BSD license
 *
 * dmx.c: DMX-512 transmitter module
 */

#include "dmx.h"
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

// PD0 (RXD) and PD1 (TXD) are connected to 75176's RXD and TXD; PD4 is
// connected to REN/TXEN (high = transmit)

static char levels[512];
static int channel_count;

// the channel to be transmitted when the UART is ready for the next char;
// a value of -1 indicates the start code
// additionally, a value of -3 indicates that the break is currently being
// transmitted, and -2 indicates that the mark-after-break is being
// transmitted
static int cur_channel;

void dmx_initialize(int n_chan)
{
  channel_count = n_chan;
  if(channel_count > 512)
    channel_count = 512;

  // initialize I/O pins
  PORTD = PORTD & ~0x10; // PD4 = 1: 75176 always in transmit mode
  DDRD = (DDRD & ~0x13) | 0x12; // PD1, PD4 out; PD0 in

  // initialize the USART
  UBRRH = 0;
  UBRRL = 3; // gives 250kbps for a 16MHz system clock
  UCSRA = 0x00;
  UCSRB = 0xd8; // everything enabled except for UDR Empty interrupt
  UCSRC = 0x8e; // 8 data bits, 2 stop bits

  // intialize Timer 1
  TCCR1A = 0x00;
  TCCR1B = 0x03; // timer 1: CPU clock / 64 (1 tick = 1 bit time, or 4 us)
}

void dmx_set_level(int channel, char level)
{
  if(channel >= channel_count)
    return;

  levels[channel] = level;
}

void dmx_start()
{
  // start it off with the break
  cur_channel = -3;

  // disable the transmitter and set the pin low
  UCSRB &= ~0x08;
  PORTD &= ~0x02;

  // start the timer
  OCR1A = 21; // 88 us, or 22 bit times
  TCNT1 = 0; // start the timer
  TIMSK |= 0x10; // enable the int
}

SIGNAL(SIG_UART_TRANS)
{
  // sanity check
  if(cur_channel < 0)
    return;

  // if we've reached the end of our data, start the whole thing over again
  if(cur_channel >= channel_count)
  {
    dmx_start();
    return;
  }

  UDR = levels[cur_channel];
  cur_channel++;
}

SIGNAL(SIG_UART_RECV)
{
  char rx_byte;

  // discard the received byte and return
  rx_byte = UDR;
}

SIGNAL(SIG_OUTPUT_COMPARE1A)
{
  if(cur_channel == -3)
  {
    // we were transmitting the break; this interrupt ends it

    // re-enable the transmitter
    UCSRB |= 0x08;

    // now we move on to the mark-after-break: 8 us of idle

    cur_channel = -2;
    TCNT1 = 0;
    OCR1A = 1; // 8 us, or 2 bit times

    return;
  }
  else if(cur_channel == -2)
  {
    // we were in the mark-after-brea; this interrupt ends it

    // transmit the start code (always zero in our implementation: no custom
    // non-dimmer data packets)
    UDR = 0;

    // when that's done, we start with the channel data
    cur_channel = 0;

    return;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米亚洲午夜久久精品| 亚洲精品国久久99热| 日欧美一区二区| 波多野结衣一区二区三区 | 美洲天堂一区二卡三卡四卡视频| 粉嫩欧美一区二区三区高清影视 | 日本一区二区三区视频视频| 亚洲一区二区三区三| 91视频在线看| 亚洲三级电影全部在线观看高清| 国产精品亚洲第一区在线暖暖韩国| 欧美精品在线观看一区二区| 国产精品国产a| 9i在线看片成人免费| 国产精品美女久久久久aⅴ国产馆| 国产一区二区福利视频| 精品日韩一区二区三区免费视频| 午夜电影网一区| 欧美一区二区三区视频在线| 亚洲va欧美va天堂v国产综合| 欧美亚洲高清一区| 亚洲国产视频在线| 日韩一级片在线播放| 国产原创一区二区三区| 欧美激情中文不卡| 91免费国产在线观看| 亚洲高清免费一级二级三级| 51精品久久久久久久蜜臀| 奇米精品一区二区三区在线观看| 亚洲精品在线观看网站| 国产91丝袜在线播放0| 亚洲欧美一区二区三区孕妇| 欧美丝袜丝交足nylons图片| 蜜臀99久久精品久久久久久软件| 精品国产乱码久久久久久闺蜜| 国产剧情一区二区| 亚洲丝袜自拍清纯另类| 欧美精品久久99久久在免费线| 蜜臀av一区二区在线免费观看| 国产三区在线成人av| 色又黄又爽网站www久久| 亚洲成人777| 国产精品女同互慰在线看| 在线观看亚洲a| 国产精品一区二区在线观看不卡| 日韩美女精品在线| 日韩免费一区二区| 91福利视频网站| 国产精品正在播放| 日韩国产精品久久久| 亚洲欧美另类综合偷拍| 久久亚洲一区二区三区明星换脸| 91在线看国产| 国产99精品在线观看| 精品一区二区三区在线视频| 亚洲男女一区二区三区| 国产亚洲污的网站| 日韩欧美一级在线播放| 欧美片在线播放| 欧美性xxxxx极品少妇| 粉嫩久久99精品久久久久久夜| 麻豆精品精品国产自在97香蕉| 亚洲六月丁香色婷婷综合久久 | 欧美三级日本三级少妇99| 国产99一区视频免费| 人人爽香蕉精品| av不卡一区二区三区| 国产麻豆一精品一av一免费| 奇米色一区二区三区四区| 日韩av在线播放中文字幕| 午夜一区二区三区视频| 亚洲一区二区在线视频| 中文字幕一区二区三区在线观看| 日本一区二区成人| 国产女主播视频一区二区| 欧美精品一区二区三区在线| 精品国产91久久久久久久妲己| 日韩一区二区三区观看| 精品少妇一区二区三区日产乱码| 欧美一区二区免费视频| 精品国免费一区二区三区| 精品久久人人做人人爰| 久久人人爽人人爽| 国产精品女人毛片| 亚洲女同一区二区| 婷婷综合五月天| 美国一区二区三区在线播放| 国产一区视频网站| av中文字幕不卡| 欧美美女黄视频| 日韩三级.com| 国产精品久久久久9999吃药| 亚洲最新视频在线播放| 日本欧美在线观看| 国产激情一区二区三区| 欧美三级三级三级| 久久久久久亚洲综合影院红桃| 亚洲视频精选在线| 奇米色一区二区| 欧美一级免费大片| 欧美疯狂做受xxxx富婆| 亚洲男人都懂的| 国产一区福利在线| 色爱区综合激月婷婷| 精品久久久久久无| 亚洲影院久久精品| 国产精品综合一区二区| 欧美精品一级二级| 国产精品天干天干在线综合| 亚洲成人av中文| 国产 日韩 欧美大片| 日韩欧美在线不卡| 亚洲一区二区高清| 91美女片黄在线观看| 26uuu亚洲综合色| 蜜桃av噜噜一区二区三区小说| 99久久国产综合色|国产精品| 欧美v亚洲v综合ⅴ国产v| 一卡二卡欧美日韩| 成a人片国产精品| 久久精品无码一区二区三区| 美脚の诱脚舐め脚责91 | 国产成人在线网站| 日韩欧美国产精品| 麻豆精品视频在线观看| 91精品国产丝袜白色高跟鞋| 亚洲欧洲制服丝袜| 色先锋aa成人| 一区二区三区精品久久久| 99麻豆久久久国产精品免费| 欧美极品另类videosde| 国产美女娇喘av呻吟久久| 精品国产一区二区三区久久久蜜月| 日韩国产精品久久久| 91精品在线观看入口| 日韩av电影天堂| 日韩精品一区国产麻豆| 久久99精品久久只有精品| 日韩欧美一卡二卡| 国产成人一区在线| 国产精品毛片无遮挡高清| 一本色道亚洲精品aⅴ| 亚洲一区二区精品视频| 欧美一区二区三区男人的天堂| 亚洲国产视频网站| 精品久久国产字幕高潮| 激情五月婷婷综合| 中文字幕一区二区三区在线不卡| 色婷婷精品久久二区二区蜜臂av| 亚洲国产裸拍裸体视频在线观看乱了| 久久久久国产精品麻豆ai换脸| av电影天堂一区二区在线| 亚洲免费色视频| 色综合天天综合网天天狠天天| 亚洲一区在线视频观看| 日韩精品一区二区三区swag | 精品免费国产二区三区| 成人精品在线视频观看| 一区二区三区四区不卡在线 | 亚洲丶国产丶欧美一区二区三区| 日韩欧美一二三| 一本色道久久综合狠狠躁的推荐| 男女男精品视频网| 亚洲私人黄色宅男| 久久蜜桃香蕉精品一区二区三区| eeuss鲁片一区二区三区| 日韩av网站在线观看| 综合激情成人伊人| 国产日产欧美一区二区三区| 欧美日韩精品一区视频| 福利电影一区二区| 日韩成人免费电影| 一区av在线播放| 中文字幕日韩精品一区| 久久综合色鬼综合色| 欧美日韩极品在线观看一区| 99精品在线免费| 国产精品白丝jk黑袜喷水| 亚洲成人激情综合网| 亚洲最大成人网4388xx| 中文字幕乱码一区二区免费| 久久综合九色综合久久久精品综合| 欧美性视频一区二区三区| 91视频www| 日韩欧美一级二级三级久久久| 欧美日韩国产免费一区二区| 91视频在线观看| 色婷婷香蕉在线一区二区| 色综合网色综合| 在线观看日韩av先锋影音电影院| 本田岬高潮一区二区三区| 成人激情黄色小说| 不卡的电影网站| 色香蕉久久蜜桃| 欧美色图一区二区三区| 欧美日韩成人高清| 欧美一级欧美三级| 国产精品青草综合久久久久99| 久久精品亚洲乱码伦伦中文| 久久免费视频色|