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

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

?? rtosinit_430f2274.c

?? embOS的MSP430F2274移植版
?? C
字號:
/*********************************************************************
*               SEGGER MICROCONTROLLER GmbH & Co KG                  *
*       Solutions for real time microcontroller applications         *
**********************************************************************
*                                                                    *
*       (c) 1995 - 2008  SEGGER Microcontroller GmbH & Co KG         *
*                                                                    *
*       www.segger.com     Support: support@segger.com               *
*                                                                    *
**********************************************************************
*                                                                    *
*       embOS * Real time operating system for microcontrollers      *
*                                                                    *
*                                                                    *
*       Please note:                                                 *
*                                                                    *
*       Knowledge of this file may under no circumstances            *
*       be used to write a similar product or a real-time            *
*       operating system for in-house use.                           *
*                                                                    *
*       Thank you for your fairness !                                *
*                                                                    *
**********************************************************************
*                                                                    *
*       embOS version: 3.60a                                         *
*                                                                    *
**********************************************************************

----------------------------------------------------------------------
File    : RTOSInit.c for Texas Instruments MSP430 with IAR compiler
Purpose : Initializes and handles the hardware for embOS as far
          as required by embOS.
          Feel free to modify this file if required for your target
--------  END-OF-HEADER  ---------------------------------------------
*/

#include "RTOS.H"
#include  <msp430.h>

/*********************************************************************
*
*       Configuration
*
**********************************************************************

  Define clock frequency for CPU

  Select UART for embOSView, set baudrate,
  If you do not want (or can not due to hardware limitations) to dedicate
  a UART to embOSView, please define OS_UART to -1

  Define the system stack size that embOS should use. Rowley only

*/

#ifndef   OS_FSYS
  #define OS_FSYS 1000000L
#endif

#ifndef   OS_UART
  #define OS_UART 0
#endif

#ifndef   OS_BAUDSRC_MCLK
  #define OS_BAUDSRC_MCLK 0
#endif

#ifndef   OS_BAUDRATE
  #define OS_BAUDRATE 9600L
#endif

#define EMBOS_TIMER_VECTOR TIMERA0_VECTOR

/****** End of configuration settings *******************************/

/*********************************************************************
*
*       OS_InitHW()
*
*       Initialize the hardware (timer) required for embOS to run.
*       May be modified, if an other timer should be used
*/
void OS_InitHW(void) {
  WDTCTL  = WDTPW + WDTHOLD;    /*  Stop watchdog timer        */

  //
  if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                     
  {  
    BCSCTL1 = 0x87;                    // Set DCO
    DCOCTL = 0x40;
  }
  else
  {
    BCSCTL1 = CALBC1_1MHZ;             // Set DCO
    DCOCTL = CALDCO_1MHZ;
  }
  
  TACTL   = 0                   /*  Reset Timer_A3, division 1 */
          | (1<<2)              /*  Clear timer                */
          | (2<<8);             /*  Use SMCLK as timer clock    */
  CCR0    = (OS_FSYS/100) - 1;  /*  Set to 10ms                 */
  CCTL0   = 0                   /*  Initilize capture control  */
          | (1<<4);             /*  Enable compare interrupt   */
  TACTL  |= (1<<4);             /*  Start timer in UP-Mode     */
  OS_COM_Init();                /*  Initialize UART            */
}

/*********************************************************************
*
*       Idle loop  (OS_Idle)
*
*       Please note:
*       This is basically the "core" of the idle loop.
*       This core loop can be changed, but:
*       The idle loop does not have a stack of its own, therefore no
*       functionality should be implemented that relies on the stack
*       to be preserved. However, a simple program loop can be programmed
*       (like toggeling an output or incrementing a counter)
*
*       We just enter low power 0 mode here.
*/
void OS_Idle(void) { /* Idle loop: No task is ready to exec         */
  _BIS_SR(0x18);     /* Nothing to do ... enter low power mode 0    */
  for (;;);          /* Alternative endless loop, required          */
                     /* when simulator is used !                    */
}

/*********************************************************************
*
*       Get time [cycles]
*
*       This routine is required for task-info via embOSView or high
*       resolution time maesurement functions.
*       It returns the system time in timer clock cycles.
*/
OS_U32 OS_GetTime_Cycles(void) {
  unsigned int t_cnt = TAR;
  OS_U32 time = OS_Time;
  if (CCTL0 & (1<<0)) {   /* If timer interrupt pending, */
    t_cnt = TAR;          /* correct result              */
    time++;
  }
  return (OS_FSYS/1000)*time  + t_cnt;
}

/*********************************************************************
*
*       OS_ConvertCycles2us
*
*       Convert Cycles into micro seconds.
*
*       If your clock frequency is not a multiple of 1 MHz,
*       you may have to modify this routine in order to get proper
*       diagonstics.
*
*       This routine is required for profiling or high resolution time
*       measurement only. It does not affect operation of the OS.
*/
OS_U32 OS_ConvertCycles2us(OS_U32 Cycles) {
  #if (OS_FSYS >= 1000000)
    return Cycles/(OS_FSYS/1000000);
  #else
    return Cycles * (1000000/OS_FSYS);
  #endif
}

/*********************************************************************
*
*       OS_Tick interrupt Handler
*/
#pragma vector=EMBOS_TIMER_VECTOR
static __interrupt void OS_ISR_Tick(void) {
  OS_EnterInterrupt();
  OS_HandleTick();
  OS_LeaveInterrupt();
}

/*********************************************************************
*
*       Communication for embOSView   (UART 0)
*
**********************************************************************
*/

#if OS_BAUDSRC_MCLK
  #define BAUDDIVIDE ((OS_FSYS+(OS_BAUDRATE/2))/OS_BAUDRATE)
  #define UxBR0  (BAUDDIVIDE & 0xFF)
  #define UxBR1  ((BAUDDIVIDE >> 8) & 0xFF)
  #define UxMCTL 0x00
  #define UxTCTL 0x20            /* Use MCLK for baudrate generator */
#else
  #define UxTCTL 0x10            /* Use ACLK for baudrate generator */
  #if   (OS_BAUDRATE == 9600)
    #define UxBR0  0x03
    #define UxBR1  0x00
    #define UxMCTL 0x4A
  #elif (OS_BAUDRATE == 4800)
    #define UxBR0  0x06
    #define UxBR1  0x00
    #define UxMCTL 0x6F
  #else
    #error Setting of OS_BAUDRATE not supported when using ACLK for baudrate generation
  #endif
#endif

#if (OS_UART == 0)

#define EMBOS_UARTRX_VECTOR USCIAB0RX_VECTOR
#define EMBOS_UARTTX_VECTOR USCIAB0TX_VECTOR

/*********************************************************************
*
*       OS_COM_Init()
*       Initialize UART for embOSView
*/
void OS_COM_Init(void) {	
  P3SEL = 0x30;                             // P3.4,5 = USCI_A0 TXD/RXD
  P3DIR = 0xFF;                             // All P3.x outputs
  P3OUT = 0;                                // All P3.x reset
  
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;

  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
//  UCA0BR0 = 104;                            // 1MHz 9600
//  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0BR0 = 64;                             // 1MHz 1200
  UCA0BR1 = 3;                              // 1MHz 1200
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  
  IE2 |= ( UCA0RXIE | UCA0TXIE );           // Enable USCI_A0 RX interrupt
}

/*********************************************************************
*
*       OS_COM_Send1()
*       Never call this function directly from your application
*/
void OS_COM_Send1(OS_U8 c) {
  UCA0TXBUF = c;
}

/*********************************************************************
*
*       OS_ISR_rx()
*       embOS UART rx interrupt handler
*/
#pragma vector=EMBOS_UARTRX_VECTOR
static __interrupt void OS_ISR_rx(void) {
  IE2 &= ~UCA0RXIE;
  OS_EnterNestableInterrupt(); /* We will enable interrupts         */
  OS_OnRx(UCA0RXBUF);            /* Process data                      */
  OS_DI();
  IE2 |= UCA0RXIE;
  OS_LeaveNestableInterrupt();
}

/*********************************************************************
*
*       OS_ISR_tx()
*       embOS UART tx interrupt handler
*/
#pragma vector=EMBOS_UARTTX_VECTOR
static __interrupt void OS_ISR_tx(void) {
  OS_EnterInterrupt();
  IFG2 &= ~UCA0TXIFG;
  OS_OnTx();
  OS_LeaveInterrupt();
}

#elif (OS_UART == -1)          /* No communication routines         */
  void OS_COM_Init(void) {}
  void OS_COM_Send1(OS_U8 c) {
    OS_USEPARA(c);
    OS_COM_ClearTxActive();    /* let OS know that tx is not busy   */
  }

#else  /* unsupported USART selected */
  #error Unsupported USART (OS_UART) selected !!!
#endif /* (OS_UART == 0) */

/*****  EOF  ********************************************************/



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米影视一区二区三区小说| 在线观看日韩国产| 91黄色免费版| 久久精品免费在线观看| 亚洲成av人**亚洲成av**| 成人午夜碰碰视频| 日韩精品在线网站| 丝袜亚洲另类丝袜在线| 99久久99久久免费精品蜜臀| 久久午夜国产精品| 蜜桃av一区二区| 69久久夜色精品国产69蝌蚪网 | 日本国产一区二区| 久久精品夜夜夜夜久久| 日本不卡在线视频| 欧美亚洲精品一区| 樱桃视频在线观看一区| www..com久久爱| 中文字幕免费观看一区| 国产伦精一区二区三区| 欧美一区二区三区在| 天天av天天翘天天综合网 | 亚洲一区二区精品视频| www.亚洲在线| 中日韩免费视频中文字幕| 国产最新精品精品你懂的| 欧美一区二区三区小说| 日韩精品午夜视频| 欧美一区二区在线看| 午夜av一区二区三区| 91精品黄色片免费大全| 日韩电影在线一区二区三区| 欧美丰满高潮xxxx喷水动漫| 三级成人在线视频| 欧美一区二区三区在线看| 久久精品国产一区二区| 久久久久久久性| 国产99久久精品| 亚洲欧美综合在线精品| 日本韩国欧美一区二区三区| 亚洲午夜视频在线| 欧美一三区三区四区免费在线看 | eeuss国产一区二区三区| 亚洲欧洲一区二区在线播放| 91久久国产最好的精华液| 亚洲成a天堂v人片| 欧美精品一区二区三区蜜桃 | 欧美特级限制片免费在线观看| 亚洲第一精品在线| 欧美videofree性高清杂交| 久久99最新地址| 18成人在线观看| 欧美日韩国产首页| 精品亚洲成a人| 亚洲国产成人私人影院tom | 天天av天天翘天天综合网色鬼国产 | 亚洲精品自拍动漫在线| 欧美裸体一区二区三区| 紧缚奴在线一区二区三区| 日本一区二区免费在线| 在线看一区二区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美国产欧美综合| 欧美区在线观看| 国产成人日日夜夜| 亚洲自拍偷拍麻豆| 久久久一区二区三区| 色综合天天狠狠| 国产一区二区三区在线观看免费| 国产精品福利av| 日韩欧美亚洲国产精品字幕久久久| 国产成人午夜99999| 亚洲风情在线资源站| 中文字幕欧美三区| 91精品国产色综合久久久蜜香臀| 成人黄色av电影| 捆绑调教一区二区三区| 一区二区欧美国产| 久久久久九九视频| 欧美一区二区视频在线观看2022 | 成人免费高清在线观看| 日韩av成人高清| 亚洲色图在线视频| 国产日韩欧美精品一区| 欧美久久一区二区| 日本二三区不卡| 不卡的av电影在线观看| 国产又粗又猛又爽又黄91精品| 亚洲一区在线看| 亚洲欧美日韩一区二区三区在线观看| 精品日韩av一区二区| 欧美久久久久免费| 欧美影视一区在线| 日本乱人伦一区| 97久久精品人人做人人爽| 成人妖精视频yjsp地址| 狠狠狠色丁香婷婷综合激情| 男人的天堂久久精品| 首页国产欧美久久| 亚洲妇女屁股眼交7| 亚洲国产精品久久不卡毛片| 一区二区三区四区蜜桃 | 首页国产欧美久久| 亚洲国产日韩av| 亚洲第一久久影院| 亚洲午夜久久久久久久久电影网| 亚洲黄色免费网站| 亚洲精品伦理在线| 一区二区三区 在线观看视频| 亚洲日本va在线观看| 亚洲欧美日韩国产一区二区三区| 国产精品乱码久久久久久| 国产视频一区二区在线观看| 欧美激情中文不卡| 国产精品丝袜一区| 亚洲天堂久久久久久久| 亚洲精品国产一区二区精华液| 亚洲欧美日韩小说| 亚洲一区二区三区中文字幕在线| 亚洲一区二区三区在线播放| 性久久久久久久久久久久| 性做久久久久久免费观看| 欧美a级理论片| 国产美女精品在线| 丁香婷婷深情五月亚洲| av不卡免费电影| 欧美色手机在线观看| 日韩一区二区精品葵司在线| 久久综合av免费| 亚洲国产精品av| 亚洲综合在线视频| 麻豆精品视频在线观看| 国产成人免费视频网站高清观看视频| 成人免费毛片aaaaa**| 欧洲一区在线观看| 日韩西西人体444www| 国产欧美日韩综合精品一区二区| 国产精品成人网| 亚洲成人在线免费| 国产一区二区在线看| 91免费在线看| 日韩午夜激情av| 国产精品久久看| 丝袜美腿一区二区三区| 国产精品77777| 欧美性感一区二区三区| 精品国产欧美一区二区| 亚洲婷婷国产精品电影人久久| 欧美bbbbb| 91美女片黄在线| 欧美大片一区二区| 亚洲欧美一区二区不卡| 紧缚捆绑精品一区二区| 在线一区二区三区| 久久久99精品久久| 伊人一区二区三区| 国产精品一区二区你懂的| 色8久久精品久久久久久蜜| 2020国产精品| 婷婷开心久久网| 91视频免费播放| 久久久精品黄色| 蜜臀国产一区二区三区在线播放| 91年精品国产| 中文字幕免费观看一区| 久久激情综合网| 欧美日韩情趣电影| 国产精品国产三级国产普通话99| 久久国产生活片100| 欧日韩精品视频| 中文字幕一区二区三区不卡| 黄页视频在线91| 日韩欧美中文字幕公布| 亚洲综合色丁香婷婷六月图片| 国产成人日日夜夜| 欧美精品一区二区三区高清aⅴ| 天堂在线一区二区| 欧美亚洲国产一区二区三区va | 国产精品乱码久久久久久| 久久精品国产第一区二区三区| 欧美视频精品在线| 亚洲欧美一区二区视频| 成人自拍视频在线观看| 日韩午夜av一区| 日本不卡一区二区三区高清视频| 色女孩综合影院| 亚洲乱码中文字幕综合| 成人黄色在线视频| 中文在线资源观看网站视频免费不卡| 国产在线精品一区二区三区不卡| 日韩三级免费观看| 美女mm1313爽爽久久久蜜臀| 在线电影一区二区三区| 午夜视频在线观看一区二区 | 91毛片在线观看| 日韩美女视频19| 欧美综合一区二区三区| 一区二区三区小说| 91福利国产成人精品照片| 亚洲精品欧美激情|