向PC端发送数据(中断方式)

简介: 向PC端发送数据(中断方式)宏定义初始化延迟数据中断主函数


宏定义



#include<iocc2530.h>
#include<string.h>
#define LED1 P1_5
#define LED2 P1_0
#define LED3 P1_4
#define LED4 P1_3
#define uchar unsigned char
#define uint unsigned int
  char Data[]="Hellosp";
  uint count=0;


初始化


void InitT1(void)
{
  T1CTL|=0X0E;
  T1CCTL0|=0X04;
  T1CC0L|=50000&0XFF;
  T1CC0H|=(500000&0XFF00)>>8;
  TIMIF&=~0X40;
  IEN1|=0X02;
  EA=1;
}
void UARTInt(void)
{
  CLKCONCMD&=0X80;
  P0SEL|=0X0C;
  U0CSR|=0X80;
  U0GCR|=10;
  U0BAUD|=216; 
  UTX0IF=0;
  EA=1;
}


延迟


void Delay(uint time)
{
  uint i;
  uchar j;
  for(i=0;i<time;i++)
    for(j=0;j<240;j++)
    {
      asm("NOP");
      asm("NOP");
      asm("NOP");
    }
}


数据


void UART_Send_String(char *Data,int lenth)
{
  int i;
  for(i=0;i<lenth;i++)
  {
   U0DBUF=*Data++;
   while(UTX0IF==0)
     UTX0IF=0;
}
}


中断


#pragma vector=T1_VECTOR
__interrupt void T1INT(void)
{
 count++;
}


主函数


 main()
  {
    P0DIR|=0X39;
    P0&=~0X39;
   UARTInt();
   InitT1();   
   while(1)
   {
   if(count>=15)
   {
   count=0;
   UART_Send_String(Data,strlen(Data));
   LED1=!LED1;
   } 
   }
 }
相关文章
|
5月前
|
监控
LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题
LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题
191 0
|
7月前
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式)
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式
507 0
I/O设备与主机信息传送的控制方式以及什么是中断
I/O设备与主机信息传送的控制方式以及什么是中断
269 0
|
Linux 芯片
stm32-HAL使用usart发送中断判断发送库的一个问题
stm32-HAL使用usart发送中断判断发送库的一个问题
228 0
stm32-HAL使用usart发送中断判断发送库的一个问题
|
内存技术
【嵌入式】位带操作+咬尾中断+晚到中断 解析
位带操作 什么是位带操作? 对32MB SRAM 别名区的访问映射为对1MB SRAM的bit-band 区的访问。 对32MB 外设别名区的访问映射为对1MB 外设bit-band 区的访问。
783 0
|
Ubuntu Linux C语言
用C写蓝牙通讯程序:扫描、读取、发送
在Linux下,通过bluez 蓝牙库可以用C语言轻松实现蓝牙通信。在ubuntu下可以用 apt-get install libbluetooth-dev 安装该库。下面是几个简单示例。
2178 0
|
数据采集 异构计算
FPGA-串口通信的接收模块(发送接收模块)
FPGA-串口通信的接收模块(发送接收模块)
235 0
接收PC端的信息控制LED灯(中断法)
接收PC端的信息控制LED灯(中断法) 宏定义 初始化 中断 主函数
159 0
串口助手数据发送与接收(中断法)
串口助手数据发送与接收(中断法) 宏定义 初始化 数据发送 数据接收 主函数 中断
227 0
接收PC端的信息控制LED灯(查询法)
接收PC端的信息控制LED灯(查询法) 宏定义 初始化 主函数
124 0