本文来自http://blog.csdn.net/hellogv/
#include"SPCE061a.h"
unsigned int tmp_data;
void UART_Init()
{
asm("INT OFF");//禁止IRQ和FIQ中断
*P_IOB_Dir=0x0400;
*P_IOB_Attrib=0x0480;
*P_IOB_Data=0x0000;
*P_UART_Command1=C_UART_Reset;//UART内部复位
*P_UART_BaudScalarHigh=0x05; //波特率设置9600
*P_UART_BaudScalarLow=0x00;
*P_UART_Command1=0x80;//1000 0000 允许Rx中断
*P_UART_Command2=0xc0; //1100 0000 控制字
asm("INT IRQ");
tmp_data=*P_UART_Data; //清接收缓冲区(很必要)
}
char GetData()
{
tmp_data=*P_UART_Command2;
tmp_data=tmp_data&0x0080;
while(tmp_data==0)
{
tmp_data=*P_UART_Command2;
tmp_data=tmp_data&0x0080;
*P_Watchdog_Clear=C_WDTCLR;
}
return *P_UART_Data;
}
void SendData(char Data)
{
*P_Watchdog_Clear=0x0001;
tmp_data=*P_UART_Command2;
tmp_data=tmp_data&0x0040;//判断数据发送是否已经准备好
while(tmp_data==0) //等待发送完毕
{
tmp_data=*P_UART_Command2;
tmp_data=tmp_data&0x0040;
*P_Watchdog_Clear=0x0001;
}
*P_UART_Data=Data;
*P_Watchdog_Clear=0x0001;
}
int main()
{
UART_Init();
while(1)
{
*P_Watchdog_Clear=C_WDTCLR;
}
return 0;
}
void IRQ7(void) __attribute__ ((ISR));
void IRQ7(void)
{
__asm("IRQ OFF");
SendData(GetData());//收到什么,就发什么回去
__asm("IRQ ON");
}
分享到:
相关推荐
在IT领域,PC与RS232通信程序是嵌入式系统、物联网设备以及工业自动化等领域常见的技术之一。RS232,全称是“Recommended Standard 232”,是一种用于电子设备之间串行通信的标准接口,最早由电子工业协会(EIA)于...
RS232通常用于短距离、低速的数据通信,例如PC与外设之间的通信。 Verilog中的RS232接收代码设计的核心在于理解串行通信的基本原理。在串行通信中,数据以位为单位按顺序发送,通常以起始位、数据位、奇偶校验位和...
RS232串行通信协议是连接微控制器与个人计算机(PC)进行数据交换的常用方式。本文将深入探讨MSP430如何通过RS232接口与PC进行通信,以及实现这一功能所需的关键知识点。 **一、MSP430微控制器** MSP430系列是由...
要实现PC机与单片机的RS232通信,首先需要正确的硬件连接。通常情况下,单片机与PC机之间的连接可以通过一个RS232转TTL模块来完成,该模块能够将单片机的TTL电平转换为符合RS232标准的电平。具体的连接方式如下: -...
在RS232通信中,数据是以二进制的形式逐位传输的,速度通常在几bps到几十kbps之间。PC机通过其内置的串口控制器与外部设备建立连接,并通过设置波特率、数据位、停止位以及奇偶校验位来配置通信参数。 3. **编程...
2. **中断驱动通信**:为了实时响应数据传输,RS232通信往往使用中断机制。当数据接收或发送完成时,微控制器会接收到中断请求,然后执行相应的中断服务程序处理数据。 3. **通信协议**:上下位机间的通信协议是...
在两台PC机之间建立RS232通信时,通常会涉及以下硬件和软件组件: 1. **硬件连接**:两台PC机通过DB9串口连接线相连,该连接线包含了数据线(如TXD和RXD,分别代表发送和接收)、控制线(如RTS和CTS,用于硬件流...
串行通信是电子和计算机领域中的基础通信方式,尤其在RS232标准的推动下,它在计算机、外设和其他通讯设备间的连接中扮演了重要角色。尽管USB接口在近年来逐渐普及,但RS232接口因其高性价比和传输的可靠性,仍然在...
5. **编程实现**:在51单片机上实现RS232通信通常涉及初始化串行端口(设置波特率、数据位、停止位、校验位)、设置中断处理函数以响应接收或发送事件,以及编写发送和接收数据的函数。在C语言中,这些可以通过访问...
6. **中断处理**:在PC机端,当接收到数据或完成发送数据时,可能需要触发中断以通知操作系统或其他软件层处理数据。 7. **Verilog模块设计**:设计时,可以将整个串口通信系统分解为多个Verilog模块,如串行接收器...
或者工业自动化系统,PC通过RS232与生产线上的多个传感器和执行器通信,实现远程监控和控制。 以上所述,通过RS232协议实现PC与单片机的通信,是构建各种智能系统的基础。无论是控制设备、数据采集还是远程监控,...
4. **单片机编程**:在单片机端,实现RS232通信可能涉及UART(通用异步收发传输器)硬件接口的配置,以及中断处理程序的编写。编程语言可能包括C或汇编,具体取决于所用的单片机型号。 5. **PC端实现**:在PC机上,...
本资料主要围绕RS232协议,探讨如何实现PC机与单片机的有效通信,以及单片机在控制系统中的应用。 首先,RS232协议是一种广泛用于串行通信的标准,全称为“推荐标准232”,最初由电子工业协会(EIA)制定。它定义了...
串口通信是计算机通信技术中的一个重要组成部分...总之,RS232串口通信是连接PC和STM32等微控制器的常用方式,通过精心配置和编程,我们可以实现高效、稳定的数据交换。理解并掌握这一技术对于嵌入式开发来说至关重要。
RS232是一种常见的串行通信接口标准,常用于设备间的通信,如PC与打印机、调制解调器等之间的连接。在中断驱动的编程中,RS232中断允许程序在数据可用时立即响应,而不是持续轮询,从而提高了效率。 描述中提到,包...
在介绍C51单片机与PC串口通信的程序之前,首先需要了解C51单片机的基本概念。C51系列单片机是由8051内核发展而来的一种微控制器,广泛应用于嵌入式系统开发中。它具有8位的CPU,内建RAM和ROM,支持I/O端口操作,具备...
在本“单片机课程设计完整版-PC 机与单片机通信(RS232协议)”中,我们将深入探讨如何使PC机与单片机通过RS232通信协议进行数据交换。这个压缩包文件包含了关于这一主题的详细资料,旨在帮助学生或工程师理解并实现这...
根据给定文件的信息,本文将深入探讨51单片机与PC机之间的串行通信系统设计,主要包括通信接口的设计和通信软件的设计两大部分。 ### 一、通信接口的设计 #### 1.1 引言 在自动化控制领域,单片机因其体积小、...
在C语言中,实现RS232通信主要涉及初始化串口、设置波特率、数据位、停止位和奇偶校验,以及发送和接收数据的函数。通常使用UART(通用异步收发传输器)硬件模块来完成物理层的通信,而在应用层,你可以使用中断或...