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

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

?? timer2.c

?? Zigbee無線收發控制芯片JN5121C語言例程
?? C
字號:
/****************************************************************************
 *
 * MODULE:             Timer2.c
 *
 * COMPONENT:          $RCSfile: $
 *
 * VERSION:            $Name: $
 *
 * REVISION:           $Revision: $
 *
 * DATED:              $Date: 30/06/06  $
 *
 * STATUS:             $State: $
 *
 * AUTHOR:             Gordon MacNee
 *
 * DESCRIPTION
 * code segment to demonstrate the operation of the timers
 * running in two modes of PWM
 * the TICK_TIMER is used to cause an interrupt every 10mS
 * during the Tick Timer interrupt the PWM SPACE values is
 * incremented by 0x200
 * the SPACE value held in u16Offset is output to UART0
 * at 19K2 8 N 1
 *
 * CHANGE HISTORY:
 *
 * $Log: $
 *
 *
 * LAST MODIFIED BY:   $Author: pc1 $
 *                     $Modtime: $
 *
 *
 ****************************************************************************
 *
 *  (c) Copyright 2006 JENNIC Ltd
 *
 ****************************************************************************/

/****************************************************************************/
/***        Include files                                                 ***/
/****************************************************************************/

#include <jendefs.h>
#include <AppHardwareApi.h>

/****************************************************************************/
/***        Macro Definitions                                             ***/
/****************************************************************************/


/****************************************************************************/
/***        Type Definitions                                              ***/
/****************************************************************************/


/****************************************************************************/
/***        Local Function Prototypes                                     ***/
/****************************************************************************/

/****************************************************************************/
/***        Exported Variables                                            ***/
/****************************************************************************/

/****************************************************************************/
/***        Local Variables                                               ***/
/****************************************************************************/
uint16 u16Offset = 0x0800;

/****************************************************************************/
/***        Exported Functions                                            ***/
/****************************************************************************/

/****************************************************************************/
/***        Local Functions                                               ***/
/****************************************************************************/

PRIVATE void vTimerConfig(void);
PRIVATE void vTickTimerISR(uint32 u32DeviceId, uint32 u32ItemBitmap);

PRIVATE void vUART_Init(void);
PRIVATE void vDebug(char *pcMessage);
PRIVATE void vDisplayHex(uint32 u32Data, int iSize);


/****************************************************************************
 *
 * NAME: vTimerConfig
 *
 * DESCRIPTION:
 * PWM output from timer0 in Delta Sigma mode
 * with a low period of 0x8000 and a high of (0xffff - 0x8000)
 *
 * PWM output from timer1 in standard mode
 * with a low period of 0x8000 and a high of (0xffff - 0x8000)
 *
 * PARAMETERS:      Name            RW  Usage
 * None.
 *
 * RETURNS:
 * None.
 *
 * NOTES:
 * In this mode the period of timer0 is fixed at 2^16 or 2^17
 * and the u16Lo is the SPACE period
 ****************************************************************************/
PRIVATE void vTimerConfig(void)
{
/* set up timer 0 for Sigma Delta PWM */
    vAHI_TimerEnable(E_AHI_TIMER_0,
                     0x00,
                     FALSE,
                     FALSE,
                     TRUE);
    vAHI_TimerClockSelect(E_AHI_TIMER_0,
                          FALSE,
                          TRUE);
    vAHI_TimerStartDeltaSigma(E_AHI_TIMER_0,
                              0x0000,   // null value
                              0x8000,   // u16Lo SPACE period
                              FALSE);

/* set up timer 1 for PWM */
    vAHI_TimerEnable(E_AHI_TIMER_1,
                     0x00,
                     FALSE,
                     FALSE,
                     TRUE);
    vAHI_TimerClockSelect(E_AHI_TIMER_1,
                          FALSE,
                          TRUE);
    vAHI_TimerStartRepeat(E_AHI_TIMER_1,
                          0x8000,       // SPACE period
                          0xffff);      // period

/* set up Tick Timer to interrupt */
    vAHI_TickTimerConfigure(E_AHI_TICK_TIMER_DISABLE);
    /* vTickTimerISR is the function that is called when we get a TickTimer Interrupt */
    vAHI_TickTimerInit(vTickTimerISR);
    vAHI_TickTimerWrite(0);
    vAHI_TickTimerInterval(160000); // for 10ms
    vAHI_TickTimerConfigure(E_AHI_TICK_TIMER_RESTART);
    vAHI_TickTimerIntEnable(TRUE);
}

/****************************************************************************
 *
 * NAME:    vTickTimerISR handle interrupts from the tick timer
 *
 * DESCRIPTION:
 * This is where we end up when we have an interrupt from Timer0
 *
 * PARAMETERS:      Name            RW  Usage
 * None.
 *
 * RETURNS:
 * None.
 *
 * NOTES:
 * None.
 ****************************************************************************/
PRIVATE void vTickTimerISR(uint32 u32DeviceId, uint32 u32ItemBitmap)
{
    u16Offset = u16Offset + 0x200;
    vAHI_TimerStartDeltaSigma(E_AHI_TIMER_0,
                              0x0000,   // null value
                              u16Offset,// SPACE value
                              FALSE);

    vAHI_TimerStartRepeat(E_AHI_TIMER_1,
                          u16Offset,    // SPACE value
                          0xffff);      // period

    vDebug("\n\ru16Offset = ");
    vDisplayHex(u16Offset,4);
}


/****************************************************************************
 *
 * NAME: AppColdStart
 *
 * DESCRIPTION:
 *
 * PARAMETERS:      Name            RW  Usage
 * None.
 *
 * RETURNS:
 * None.
 *
 * NOTES:
 * Entry point for a power on reset or wake from sleep mode.
 ****************************************************************************/
PUBLIC void AppColdStart(void)
{
    /* Initialise stack and hardware interfaces.  */
    (void)u32AHI_Init();


    /* Initialise the serial port and rx/tx queues */
    vUART_Init();

    /* select which timer0 configuration you want to use here */
    vTimerConfig();

    u16Offset = 0x0800;

    while(1)
    {
    }
}

/****************************************************************************
 *
 * NAME: AppWarmStart
 *
 * DESCRIPTION:
 * Entry point for a wake from sleep mode with the memory contents held. We
 * are not using this mode and so should never get here.
 *
 * PARAMETERS:      Name            RW  Usage
 * None.
 *
 * RETURNS:
 * None.
 *
 * NOTES:
 * None.
 ****************************************************************************/
PUBLIC void AppWarmStart(void)
{
    AppColdStart();
}




/****************************************************************************
 *
 * NAME: vUART_Init
 *
 * DESCRIPTION:
 *
 * PARAMETERS:      Name            RW  Usage
 * None.
 *
 * RETURNS:
 * None.
 *
 * NOTES:
 * None.
 ****************************************************************************/
PUBLIC void vUART_Init(void)
{
    /* Enable UART 0: 19200-8-N-1 */
    vAHI_UartEnable(E_AHI_UART_0);

    vAHI_UartReset(E_AHI_UART_0, TRUE, TRUE);
    vAHI_UartReset(E_AHI_UART_0, FALSE, FALSE);

    vAHI_UartSetClockDivisor(E_AHI_UART_0, E_AHI_UART_RATE_19200);
    vAHI_UartSetControl(E_AHI_UART_0, FALSE, FALSE, E_AHI_UART_WORD_LEN_8, TRUE, FALSE);
    vAHI_UartSetInterrupt(E_AHI_UART_0, FALSE, FALSE, FALSE, FALSE, E_AHI_UART_FIFO_LEVEL_1);
}

PRIVATE void vDebug(char *pcMessage)
{
    while (*pcMessage)
    {
        while ((u8AHI_UartReadLineStatus(0) & 0x20) == 0);
        vAHI_UartWriteData(0, *pcMessage);
        pcMessage++;
    }
}

PRIVATE void vDisplayHex(uint32 u32Data, int iSize)
{
    char acValue[9];
    char *pcString = acValue;
    uint8 u8Nybble;
    int i, j;

    j = 0;
    for (i = (iSize << 2) - 4; i >= 0; i -= 4)
    {
        u8Nybble = (uint8)((u32Data >> i) & 0x0f);
        u8Nybble += 0x30;
        if (u8Nybble > 0x39)
            u8Nybble += 7;

        *pcString = u8Nybble;
        pcString++;
    }
    *pcString = '\0';

    vDebug(acValue);
}

/****************************************************************************/
/***        END OF FILE                                                   ***/
/****************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线观看电影| 91精品欧美久久久久久动漫| 日本va欧美va欧美va精品| 亚洲午夜一区二区| 国产精品你懂的在线| 欧美一区二区久久久| 精品污污网站免费看| 欧美性欧美巨大黑白大战| 9久草视频在线视频精品| 成人妖精视频yjsp地址| 丰满亚洲少妇av| 高清不卡一区二区| 国产一区日韩二区欧美三区| 另类成人小视频在线| 日韩国产一二三区| 久久国产乱子精品免费女| 极品尤物av久久免费看| 国产一区二区三区黄视频 | 久久久精品日韩欧美| 欧美成人精品福利| 久久亚洲一区二区三区明星换脸| 日韩免费高清av| 欧美电影精品一区二区| 欧美精品一区二区久久婷婷| 久久老女人爱爱| 欧美va天堂va视频va在线| 久久亚洲影视婷婷| 亚洲卡通动漫在线| 热久久一区二区| 粉嫩aⅴ一区二区三区四区| 91色在线porny| 91精品黄色片免费大全| 精品国产伦一区二区三区观看体验| 久久久精品日韩欧美| 一区二区视频免费在线观看| 日韩一区欧美二区| 床上的激情91.| 欧美日韩不卡在线| 久久久亚洲高清| 亚洲小少妇裸体bbw| 国产麻豆精品久久一二三| 色综合久久综合网97色综合| 日韩欧美一级二级| 亚洲视频在线一区观看| 免费成人av资源网| 色综合天天综合| 国产欧美日本一区二区三区| 中文在线免费一区三区高中清不卡| 一区二区三区在线免费观看| 国产又黄又大久久| 欧美人与性动xxxx| 国产精品青草综合久久久久99| 亚洲二区视频在线| 成人动漫在线一区| 26uuu亚洲| 日韩成人免费电影| 日本高清视频一区二区| 欧美精品一区二区三区蜜臀 | 丁香网亚洲国际| 欧美片网站yy| 亚洲少妇最新在线视频| 另类专区欧美蜜桃臀第一页| 在线观看成人小视频| 欧美国产激情二区三区| 丝袜美腿亚洲综合| 色拍拍在线精品视频8848| 国产日本一区二区| 加勒比av一区二区| 欧美成人精精品一区二区频| 亚洲综合激情另类小说区| 成人午夜av影视| 国产日产欧美精品一区二区三区| 麻豆国产精品官网| 69堂国产成人免费视频| 五月婷婷欧美视频| 欧美日韩亚洲高清一区二区| 亚洲美腿欧美偷拍| 色综合久久久久综合| 综合久久给合久久狠狠狠97色| 国产精品91一区二区| 精品嫩草影院久久| 久久99精品一区二区三区三区| 久久综合国产精品| 国产乱码一区二区三区| 日韩精品一区二区三区四区| 日本成人在线电影网| 日韩亚洲欧美一区| 极品尤物av久久免费看| 精品理论电影在线观看| 国内精品国产成人| 国产亚洲福利社区一区| 国产成人在线电影| 日韩一区在线看| 欧美综合天天夜夜久久| 日韩精品电影一区亚洲| 欧美一区二区三区白人| 国产乱子伦视频一区二区三区 | 亚洲欧美一区二区三区极速播放| 99久久亚洲一区二区三区青草| 国产精品天干天干在线综合| 99精品视频在线观看| 一区二区三区在线视频播放| 欧美日韩一级二级三级| 日韩成人午夜精品| 精品粉嫩超白一线天av| 成人午夜大片免费观看| 亚洲电影激情视频网站| 日韩欧美一级二级| www.亚洲在线| 亚洲mv在线观看| 久久久久久亚洲综合影院红桃| 懂色av一区二区在线播放| 一区二区三国产精华液| 日韩三级免费观看| 成人午夜电影久久影院| 天堂av在线一区| 国产精品三级av在线播放| 欧美日韩精品免费| 国产成人精品在线看| 亚洲国产精品久久一线不卡| 久久久国产午夜精品| 91麻豆精品国产| 国产91综合网| 日欧美一区二区| 亚洲欧美日韩国产成人精品影院| 日韩欧美你懂的| 欧美在线不卡视频| 国产伦精品一区二区三区在线观看| 亚洲一区二区三区激情| 久久久久久久久一| 欧美精品 国产精品| 不卡av电影在线播放| 捆绑紧缚一区二区三区视频| 一区二区三区欧美日| 国产午夜精品在线观看| 欧美一区二区日韩一区二区| 在线一区二区三区四区五区| 国产二区国产一区在线观看| 午夜国产精品一区| 亚洲美女区一区| 国产精品国产三级国产| 久久影院午夜论| 欧美电视剧免费全集观看| 欧美午夜精品久久久久久超碰| 成人av免费在线| 国产精品一区免费在线观看| 免费观看在线综合| 婷婷国产在线综合| 午夜精品久久久久久久| 亚洲美女屁股眼交3| 日韩毛片在线免费观看| 国产精品国产三级国产普通话三级 | 欧美在线高清视频| 一本久久a久久精品亚洲| 国产精品一区二区三区乱码 | 国产一区二区三区av电影| 日韩精品每日更新| 日韩中文字幕亚洲一区二区va在线| 亚洲日本成人在线观看| 国产精品美女久久久久久2018| 久久久精品黄色| 国产日韩精品一区二区浪潮av| 2023国产精品| 欧美韩国日本综合| **性色生活片久久毛片| 亚洲精品国产视频| 日本vs亚洲vs韩国一区三区二区| 欧美少妇一区二区| 97久久久精品综合88久久| 天天综合天天做天天综合| 国产剧情在线观看一区二区| 9191久久久久久久久久久| 欧美福利一区二区| 精品处破学生在线二十三| 久久女同互慰一区二区三区| 欧美国产精品一区二区三区| 亚洲丝袜自拍清纯另类| 亚洲综合在线五月| 亚洲成人动漫精品| 久久精品国产免费| 成人小视频在线| 在线免费观看视频一区| 4438x亚洲最大成人网| 精品国产91乱码一区二区三区 | 91麻豆精品91久久久久久清纯| 制服.丝袜.亚洲.中文.综合| 欧美tickling网站挠脚心| 久久久国产一区二区三区四区小说| 国产精品久久久久7777按摩| 亚洲一二三区视频在线观看| 日韩不卡在线观看日韩不卡视频| 久久er99精品| 91论坛在线播放| 欧美一区中文字幕| 中文字幕av一区二区三区免费看| 亚洲一卡二卡三卡四卡五卡| 久久精品国产一区二区三区免费看 | 亚洲欧美一区二区三区极速播放| 日日嗨av一区二区三区四区| 国产不卡高清在线观看视频|