向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;
   } 
   }
 }
相关文章
|
4月前
|
监控
LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题
LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题
155 0
|
6月前
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式)
I/O设备与主机信息传送的方式(程序查询方式,程序中断方式,DMA方式
328 0
|
索引
串口助手(串口发送接收数据, 定时, 清空, hex显示)
串口助手(串口发送接收数据, 定时, 清空, hex显示)
1461 0
I/O设备与主机信息传送的控制方式以及什么是中断
I/O设备与主机信息传送的控制方式以及什么是中断
251 0
|
C语言 芯片
STM32学习笔记(5) 串口通讯-接收与发送
一个码元就是一个脉冲信号,一个脉冲信号有可能携带1bit数据,也有可能携带2bit数据、4bit数据!你发送一个脉冲信号,如果就可以携带4bit数据,肯定发送速率更快啊!
489 0
|
Linux 芯片
stm32-HAL使用usart发送中断判断发送库的一个问题
stm32-HAL使用usart发送中断判断发送库的一个问题
214 0
stm32-HAL使用usart发送中断判断发送库的一个问题
|
移动开发 缓存 物联网
串口接收并处理数据流程|学习笔记
快速学习串口接收并处理数据流程
串口接收并处理数据流程|学习笔记
|
Ubuntu Linux C语言
用C写蓝牙通讯程序:扫描、读取、发送
在Linux下,通过bluez 蓝牙库可以用C语言轻松实现蓝牙通信。在ubuntu下可以用 apt-get install libbluetooth-dev 安装该库。下面是几个简单示例。
2146 0
|
数据采集 异构计算
FPGA-串口通信的接收模块(发送接收模块)
FPGA-串口通信的接收模块(发送接收模块)
218 0
串口助手数据发送与接收(中断法)
串口助手数据发送与接收(中断法) 宏定义 初始化 数据发送 数据接收 主函数 中断
221 0