⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 Firmware for lpc2148, including mmc, uart, rtc, lcd, interrupts
💻 C
字号:
/*******************************************************************************
  DEMO
*******************************************************************************/


#include "lcd.h"
#include "rs232.h"
#include "mmc.h"
#include "timer.h"
#include "string.h"
#include "rtc.h"
#include "interrupts.h"
#include <inarm.h>

#define   BIT0        0x00000001
#define   BIT1        0x00000002
#define   BIT2        0x00000004
#define   BIT3        0x00000008
#define   BIT4        0x00000010
#define   BIT5        0x00000020
#define   BIT6        0x00000040
#define   BIT7        0x00000080
#define   BIT8        0x00000100
#define   BIT9        0x00000200
#define   BIT10       0x00000400
#define   BIT11       0x00000800
#define   BIT12       0x00001000
#define   BIT13       0x00002000
#define   BIT14       0x00004000
#define   BIT15       0x00008000
#define   BIT16       0x00010000
#define   BIT17       0x00020000
#define   BIT18       0x00040000
#define   BIT19       0x00080000
#define   BIT20       0x00100000
#define   BIT21       0x00200000
#define   BIT22       0x00400000
#define   BIT23       0x00800000
#define   BIT24       0x01000000
#define   BIT25       0x02000000
#define   BIT26       0x04000000
#define   BIT27       0x08000000
#define   BIT28       0x10000000
#define   BIT29       0x20000000
#define   BIT30       0x40000000
#define   BIT31       0x80000000


unsigned char ch_1 = 0;
unsigned char ch_2 = 0;

void Delay_ (unsigned long a) { while (--a!=0); }

void main()
{

  /**** Initialization ****/
  FrecInit();                     //Init frequency
  UART0Initialize(9600);          //Init UART0
  UART1Initialize(9600);          //Init UART1
  LCDInit();                      //Init LCD

  IODIR0_bit.P0_15 = 0;           //Init button 1 as input
  IODIR0_bit.P0_16 = 0;           //Init button 2 as input
  IODIR0_bit.P0_30 = 0;           //Init potential as input
  IODIR0_bit.P0_31 = 1;           //Init LED as output

  IODIR1_bit.P0_25 = 0;           //CP as input
  IODIR1_bit.P0_24 = 0;           //WP as input


  /**** LCD ****/
  LCDSendCommand(DISP_ON);        //LCD on
  LCDSendCommand(CLR_DISP);       //LCD clear
  LCDSendCommand(DD_RAM_ADDR);    //LCD set first row
  LCDSendTxt(" www.olimex.com "); //write to LCD


  while(1)
  {

    //press button 1
    if(IOPIN0_bit.P0_15 == 0) Light(1);

    //press button 2
    if(IOPIN0_bit.P0_16 == 0) Light(0);

    //rs232 - UART0
    ch_1 = UART0ReadChar_nostop();
    if(ch_1 != 0) { UART0WriteChar(ch_1); UART0WriteChar('*'); ch_1 = 0; }
    //rs232 - UART0
    ch_2 = UART1ReadChar_nostop();
    if(ch_2 != 0) { UART1WriteChar(ch_2); UART1WriteChar('*'); ch_2 = 0; }

    //potential
    if(IOPIN0_bit.P0_30 == 0) IOSET0_bit.P0_31 = 1;
    else IOCLR0_bit.P0_31 = 1;

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -