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

📄 main.c

📁 S3C44B0X SIO功能模块的开发与应用
💻 C
字号:
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"

#define  BIT_SIO_START 1<<3


unsigned char flag_send=0;//the flag of want to send a byte data
unsigned char flag_recept=0;//the flag of want to recept a byte data


//SIO transmit or recept interrupt server program
void __irq SIO_INT(void)
{
   if(flag_send)//send interrupt
   {
     flag_send=0;
     Uart_Printf("Enter SIO_INT ISR program \n");
     Uart_Printf("you send a data:rSIODAT=%d \n",rSIODAT);
     rI_ISPC=BIT_SIO;//clear the INTPND flag of SIO
   }
   if(flag_recept)//recept interrupt
   {
     flag_recept=0;
     Uart_Printf("Enter SIO_INT ISR program \n");
     Uart_Printf("you recept a data:rSIODAT=%d \n",rSIODAT);
     rI_ISPC=BIT_SIO;//clear the INTPND flag of SIO
   }
}



void SIO_Init(void)
{
   rPDATF=0x1ff;	//All Is High
   rPCONF=0x1B6C00; //Configure to SIO function mode 
   rPUPF=0x000; // All SIO pin pull up

   rSIOCON=0x31;//00110001, Internal clock, MSB, transmit/recept, up edge recept, SIO interrupt mode 
   rSIODAT=0X00;
   rSBRDR=59; //Baud=500KHz,MCLK=60MHz, Baud=MCLK/2/(SBRDR+1)
                    
   rIVTCNT=0;
   rDCNTZ=0;

   rINTCON=0X05; //Enable IRQ 
   rINTMOD=0X00;//INT mode is IRQ
   rINTMSK=~(BIT_SIO|BIT_GLOBAL);//Enable SIO_INT
   rI_ISPC|=BIT_SIO;//Clear the flag of SIO_INTPND
   pISR_SIO=(U32)SIO_INT;//the first address of SIO_INT is assigned to pISR_SIO

}


void Main(void)
{
    rSYSCFG=CACHECFG;   // Using 8KB Cache//

    Port_Init();
    SIO_Init();
     
    Uart_Init(0,57600);//initalize UART0,baud=57600
    Delay(10);
    Uart_Select(0); //Select UART0
    Uart_Printf("Enter Main program \n"); 

    while(1)
    {
      Led_Display(0x0);
      Delay(2000);
      
      rSIODAT=99;
      flag_send=1;
      rSIOCON|=BIT_SIO_START;

      Led_Display(0x7);
      Delay(2000);

      flag_recept=1;
      rSIOCON|=BIT_SIO_START;   
    } 
}

⌨️ 快捷键说明

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