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

📄 main.c

📁 实现下位机和PC通信的C程序
💻 C
字号:

#include  "systemInit.h" 
#include  <uart.h> 
#define   LED1  GPIO_PIN_0
#define   LED2  GPIO_PIN_2
 
//  UART初始化 
void uartInit(void) 
{ 
 SysCtlPeriEnable(SYSCTL_PERIPH_UART2);     //   使能UART 模块 
 SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG);     //    使能RX/TX所在的 GPIO
 
 GPIOPinTypeUART(GPIO_PORTG_BASE,      //   配置RX/TX所在管脚为 
     GPIO_PIN_0 | GPIO_PIN_1);        //    UART收发功能 
 
 UARTConfigSet(UART2_BASE,        //   配置UART 端口 
    9600,                       //   波特率:9600 
    UART_CONFIG_WLEN_8 |     //    数据位:8 
    UART_CONFIG_STOP_ONE |     //    停止位:1 
    UART_CONFIG_PAR_NONE);     //   校验位:无 
 
 UARTEnable(UART2_BASE);        //    使能UART 端口 
 
} 

//  通过UART 发送字符串 
void uartPuts(char *s) 
{ 
    while (*s != '\0') 
    { 
      UARTCharPut(UART2_BASE, *(s++)); 
    } 
} 
void uartGets(char *s)
    {
      int i;
      for(i=0;i<=7;i++)
        {
          *(s+i)=UARTCharGet(UART2_BASE); 
        }
    }
//  主函数(程序入口)
int main(void)
{
    
     char i=0;
     char receive_buff[15]={0};
    jtagWait();                                             //  防止JTAG失效,重要!
    clockInit();                                            //  时钟初始化:晶振,6MHz
    uartInit() ;
    SysCtlPeriEnable( SYSCTL_PERIPH_GPIOD);               //使能GPIOD端口
    SysCtlPeriEnable( SYSCTL_PERIPH_GPIOG);  
    GPIOPinTypeOut( GPIO_PORTD_BASE,LED1);               //设置为输出
    GPIOPinTypeOut( GPIO_PORTG_BASE,LED2);
    GPIOPinWrite(GPIO_PORTD_BASE,LED1,0x01);            //turn off led1
    GPIOPinWrite(GPIO_PORTG_BASE,LED2,0x04);            //turn off led1
   
     for(i=0;i<=14;i++)
      {
        receive_buff[i]=UARTCharGet(UART2_BASE);
      }
     
     
      if(receive_buff[0]=='a'&&receive_buff[1]=='b'&&receive_buff[2]=='c'&&receive_buff[3]=='3'&&receive_buff[4]=='1')
          
         GPIOPinWrite(GPIO_PORTD_BASE,LED1,0x00); 
     uartPuts("A za za fighting123456789abcdefghijklmnopqrstuvwxyz\r\n"); 
     if(receive_buff[0]=='c'&&receive_buff[1]=='d'&&receive_buff[2]=='e'&&receive_buff[3]=='5'&&receive_buff[4]=='1')
         GPIOPinWrite(GPIO_PORTG_BASE,LED2,0x00); 
    for (;;)
    {
       
    
    
    }
}

⌨️ 快捷键说明

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