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

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

?? main.c

?? CAN Example(MC9S12XDP512)
?? C
字號:
//////////////////////////////////////////////////////////////////////////////
//
// Sample for SofTec Microsystems SK-S12XDP512-A Starter Kit
// (Freescale code: EVB9S12XDP512)
//
// This program sends the potentiometer value from MSCAN0 to MSCAN1 and
// displays it on the two dot-matrix displays, in a graphic way.
//
// A CAN cable must connect the CAN0 node to CAN1 node.
//
// Before to run this example, verify that all jumpers are in their default
// position.
//
// See the "Summary of Jumper and Connector Settings" chapter in
// the user's manual.
//
// NOTE: This example serves the only purpose of setting the CAN peripheral
// correctly, and is not intended to be a starting point for a real-world 
// CAN application.
//
// ---------------------------------------------------------------------------
//
// Copyright (c) 2005 SofTec Microsystems
// http://www.softecmicro.com/
//
//////////////////////////////////////////////////////////////////////////////

#include <hidef.h>
#include "mc9s12xdp512.h"
#include "mscan.h"
#pragma LINK_INFO DERIVATIVE "mc9s12xdp512"

//////////////////////////////////////////////////////////////////////////////
// Defines and variables
//////////////////////////////////////////////////////////////////////////////

#define NUM_COLS            10
#define CAN_MSG_ID          1

unsigned char LED_display_col;
unsigned char LED_matrix_data[NUM_COLS];
unsigned char potentiometer_value;
unsigned char can_delay = 10;

const unsigned char light_table[][5] = {
    0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x08,
    0x00, 0x00, 0x00, 0x08, 0x1C,
    0x00, 0x00, 0x08, 0x1C, 0x3E,
    0x00, 0x08, 0x1C, 0x3E, 0x7F,
    0x08, 0x1C, 0x3E, 0x7F, 0x7F,
    0x1C, 0x3E, 0x7F, 0x7F, 0x7F,
    0x3E, 0x7F, 0x7F, 0x7F, 0x7F,
    0x7F, 0x7F, 0x7F, 0x7F, 0x7F
};

//////////////////////////////////////////////////////////////////////////////
// Peripheral Initialization
//////////////////////////////////////////////////////////////////////////////

void PeriphInit(void)
{
    // Configures PA[6..0] port as output
    PORTA = 0x7F;
    DDRA = 0x7F;

    // Configures PB[3..0] as output and PB[7..4] as input
    PORTB = 0x00;
    DDRB = 0x0F;

    // Enables pull-ups on PB port
    PUCR |= 0x02;

    // Configures PC[4..0] port as output
    PORTC = 0x00;
    DDRC = 0x1F;

    // Configures PD[4..0] port as output
    PORTD = 0x00;
    DDRD = 0x1F;

    // Configures the ATD peripheral
    // (16 conversions per sequence, 8 bit resolution, wrap around channel, continuous conversion)
    ATD1CTL3 = 0x38;
    ATD1CTL4 = 0x80;
    ATD1CTL0 = 0x05;
    ATD1CTL2 = 0x80;
    ATD1CTL5 = 0x32;

    // Configures the PIT (Periodic Interrupt Timer) to generate a periodic interrupt of 500us
    // (Interrupt on channel 0)
    PITCE = 0x01;
    PITINTE = 0x01;
    PITLD0 = 1000;
    PITCFLMT = 0xA0;

    MSCANInit(MSCAN_0);
    MSCANInit(MSCAN_1);

    EnableInterrupts;
}

//////////////////////////////////////////////////////////////////////////////
// Outputs a graphical pattern on the displays
//////////////////////////////////////////////////////////////////////////////

void disp_light_pattern(unsigned char value)
{
    unsigned char i;

    for(i=0; i<5; i++)
    {
        LED_matrix_data[i] = light_table[value][i];
        LED_matrix_data[5 + i] = light_table[value][5 - i - 1];
    }
}

//////////////////////////////////////////////////////////////////////////////
// Entry point
//////////////////////////////////////////////////////////////////////////////

void main(void)
{
    struct can_msg msg_send, msg_get;
    
    PeriphInit();
    
    for(;;)
    {
        // Reads the ADC channels
        while(!(ATD1STAT0 & 0x80))
             ;

      	potentiometer_value = ATD1DR0H;

        // Resets SCF flag
        ATD1STAT0 = 0x80;

        if(!can_delay)
        {
            msg_send.id = CAN_MSG_ID;
            msg_send.data[0] = (unsigned char)(potentiometer_value);
            msg_send.len = 1;
            msg_send.RTR = FALSE;
            msg_send.prty = 0;
            (void)MSCANSendMsg(MSCAN_0, msg_send);
            can_delay = 10;
        }

        // Checks if a message is received from MSCAN1
        if(MSCANCheckRcvdMsg(MSCAN_1))
        {
            if(MSCANGetMsg(MSCAN_1, &msg_get))
            {
                if(msg_get.id == CAN_MSG_ID && msg_get.RTR == FALSE)
                    disp_light_pattern((unsigned char)(msg_get.data[0] * 9 / 256));
            }
        }
    }
}

////////////////////////////////////////////////////////////////////////////
// PIT0 Interrupt Service Routine
////////////////////////////////////////////////////////////////////////////

#pragma CODE_SEG __NEAR_SEG NON_BANKED

interrupt void PIT0_ISR(void)
{
    PORTC = 0xFF;
    PORTD = 0xFF;
    PORTA = LED_matrix_data[NUM_COLS - LED_display_col - 1];

    if(LED_display_col < 5)
        PORTC = ~(0x01 << LED_display_col);
    else
        PORTD = ~(0x01 << (LED_display_col - 5));

    if(++LED_display_col >= NUM_COLS)
        LED_display_col = 0;

    --can_delay;

    PITTF = 0x01;
}

#pragma CODE_SEG DEFAULT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲视频系列| 国产亲近乱来精品视频| 91在线高清观看| 粉嫩蜜臀av国产精品网站| 国产成人在线免费观看| 国产成人在线观看免费网站| 国产麻豆精品在线观看| 国产99久久久国产精品| 成人高清av在线| 99re在线视频这里只有精品| 91免费视频网址| 欧美视频在线一区| 538prom精品视频线放| 日韩视频123| www久久精品| 国产精品二三区| 亚洲国产一区二区视频| 日韩成人免费电影| 国产成人h网站| 欧美亚洲动漫精品| 这里是久久伊人| xfplay精品久久| 亚洲视频一区二区免费在线观看| 一区二区三区日韩欧美| 激情五月婷婷综合| 91蝌蚪国产九色| 日韩久久久精品| 国产精品久久一卡二卡| 亚洲第一搞黄网站| 国产精品99久久久久久宅男| 91精彩视频在线观看| 在线播放中文一区| 国产欧美一区二区在线| 香蕉久久夜色精品国产使用方法| 国产精品一区二区91| 欧美在线视频不卡| 国产亚洲短视频| 五月综合激情网| 成人免费va视频| 4438x亚洲最大成人网| 中文字幕免费在线观看视频一区| 亚洲尤物在线视频观看| 国产高清精品在线| 欧美一级二级三级乱码| 成人免费在线观看入口| 国产麻豆精品在线| 91 com成人网| 亚洲精品高清在线观看| 国产福利一区在线| 欧美大片日本大片免费观看| 亚洲一区二区视频在线观看| 成人精品国产免费网站| 精品国产一区二区三区久久久蜜月 | 国产香蕉久久精品综合网| 亚洲一区二区三区免费视频| 日韩三级在线观看| 亚洲高清中文字幕| 91麻豆文化传媒在线观看| xfplay精品久久| 久久精品国产亚洲5555| 欧美高清激情brazzers| 亚洲国产美女搞黄色| kk眼镜猥琐国模调教系列一区二区| 欧美成人精品3d动漫h| 亚洲男人的天堂av| 91麻豆蜜桃一区二区三区| 国产精品素人视频| 丁香六月久久综合狠狠色| 久久久久久电影| 国产成人日日夜夜| 国产三级精品三级| 国产经典欧美精品| 中文字幕高清不卡| jlzzjlzz亚洲日本少妇| 成人欧美一区二区三区黑人麻豆 | 欧洲一区二区av| 国产精品国产三级国产三级人妇 | 欧美视频在线观看一区| 一区二区三区在线观看视频 | 亚洲高清免费视频| 欧美视频中文一区二区三区在线观看| 亚洲综合丁香婷婷六月香| 一本一道久久a久久精品综合蜜臀| 一区在线观看视频| 欧洲一区在线观看| 蜜臀av一区二区在线免费观看 | 欧美一区二区网站| 日日摸夜夜添夜夜添精品视频| 4hu四虎永久在线影院成人| 老汉av免费一区二区三区| 久久久亚洲综合| 成人精品高清在线| 亚洲va韩国va欧美va| 精品少妇一区二区三区免费观看 | 欧美日韩国产高清一区二区三区 | 精品国产一区二区亚洲人成毛片| 国产一区91精品张津瑜| 国产精品久久三| 欧美视频在线观看一区二区| 美女视频黄 久久| 国产精品素人一区二区| 欧美日韩国产高清一区二区 | 欧美欧美午夜aⅴ在线观看| 精品一区精品二区高清| 亚洲色图在线看| 欧美一区国产二区| heyzo一本久久综合| 亚洲va中文字幕| 久久久精品免费免费| 欧美亚洲禁片免费| 国产一区二区三区电影在线观看| 亚洲视频香蕉人妖| 欧美一区二区三区影视| 99re这里只有精品视频首页| 美女网站视频久久| 亚洲精品一二三区| 久久久久国产精品麻豆ai换脸| 欧美综合一区二区| 国产福利91精品一区二区三区| 亚洲国产成人av| 中文字幕永久在线不卡| 日韩精品一区二区三区在线观看| 91麻豆蜜桃一区二区三区| 久久国产精品99久久久久久老狼| 亚洲激情第一区| 国产人成亚洲第一网站在线播放 | 欧美精品一区二区高清在线观看| 91理论电影在线观看| 国产伦精品一区二区三区视频青涩 | 欧美日本一区二区三区| 丰满亚洲少妇av| 国产一区二区三区| 日韩成人精品在线| 午夜精品久久久久久久久久久| 亚洲女与黑人做爰| 国产精品传媒入口麻豆| 国产视频一区不卡| 精品不卡在线视频| 91麻豆精品国产91久久久久| 色偷偷成人一区二区三区91| 东方欧美亚洲色图在线| 国内久久精品视频| 韩国精品主播一区二区在线观看| 免费在线观看一区| 人人爽香蕉精品| 美女免费视频一区| 精品一区二区免费在线观看| 日本中文字幕一区二区视频 | 粉嫩绯色av一区二区在线观看 | 国产精品福利影院| 国产精品传媒视频| 亚洲色图欧美偷拍| 亚洲色图视频网| 亚洲午夜一区二区三区| 亚洲综合成人在线视频| 亚洲.国产.中文慕字在线| 午夜精品成人在线| 亚洲第一主播视频| 蜜桃精品视频在线观看| 麻豆精品在线观看| 国产成人免费视频网站| 99精品国产99久久久久久白柏 | 国产精品一区二区久久精品爱涩| 国产一区二区三区不卡在线观看| 国产在线播放一区| 丁香婷婷综合网| 色系网站成人免费| 欧美精品自拍偷拍| 精品区一区二区| 中文字幕欧美国产| 一区二区三区日韩精品视频| 日韩—二三区免费观看av| 免费视频最近日韩| 成人性生交大片免费看视频在线 | 亚洲综合一二区| 奇米色777欧美一区二区| 国内精品视频一区二区三区八戒| 国产在线精品一区二区| 色噜噜夜夜夜综合网| 欧美成人高清电影在线| 国产精品视频九色porn| 亚洲国产毛片aaaaa无费看| 久久9热精品视频| 91丨国产丨九色丨pron| 欧美一区二区不卡视频| 国产精品色一区二区三区| 亚洲午夜一区二区三区| 国产一区二区三区在线观看免费| 色又黄又爽网站www久久| 欧美一区二区在线看| 亚洲欧美色综合| 国产乱子伦视频一区二区三区 | 成人欧美一区二区三区在线播放| 热久久一区二区| 99精品视频在线播放观看| 日韩一级二级三级| 一区二区三区国产精品| 国产激情91久久精品导航 | 国产精品资源在线| 欧美日韩国产bt|