当前位置:首页 > 计算机相关 > 我的开发 > 正文内容

ARM7串口通讯程序设计

piikee14年前 (2008-12-24)我的开发204
摘要:设计ARM板到主机的网络通信
关键字:ARM 主机 计算机 通讯程序 UART 串口 接口 源码
1 引言
背景:期末课程设计,要求设计实现ARM板到主机的网络通信
意义和目的:借此课程设计,使得我们能够更好掌握网络通讯技术与网络编程技巧。
2 总体设计
2.1提供配置与器件
ARM7板一块,串口线一条,JATA线一条,电源线一条。PC端开发平台为C#.Net平台。
2.2 系统框架设计
大致是通过在ARM板的RS232接口接收计算机传过来的数据,然后再通过RS232回传对计算机,并在计算机上显示出来。另外,如果数据需要保存,可以保存到一个txt文本文档中。
主文件MAIN.C代码:
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
void Main(void)
{
unsigned char aa;
char *string;
rSYSCFG=CACHECFG;   // Using 8KB Cache//
Port_Init();
ChangePllValue( 70, 3, 1 ) ;  //设置CPU频率为78M
Uart_Init(0,57600);
Led_Display(0x0);
Delay(10);
Uart_Select(0);   //Select UART0
Uart_Printf("\nARM通讯程序设计");
Uart_Printf("\nPlease Press A String");
while(1){
Uart_GetString(string);    //从串口读取字符串
Uart_SendString(string);  //发送字符串
}
}
PC端C#.net开发主界面代码:
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace Frontwork_WindowsForms
{
public partial class Form1 : Form
{
static System.IO.Ports.SerialPort _serialPort;
public Form1()
{
InitializeComponent();
_serialPort = new System.IO.Ports.SerialPort("COM1");
_serialPort.Parity = Parity.None;        //设置校验位
_serialPort.StopBits = StopBits.One;     //设置停止位
_serialPort.BaudRate = 57600;           //设置波特率
_serialPort.DataBits = 8;                //设置数据位
_serialPort.Open();
}
private void button1_Click(object sender, EventArgs e)
{
Write();
}
public void Write()
{
try
{
string message = textBox2.Text;
textBox2.Text = "";
_serialPort.Write(message);             //向串口发送字符串message
Thread.Sleep(10);
string message1 = _serialPort.ReadExisting();      //读取串口字符串
if (message1 != "")
textBox1.Text += message1 + "\r\n";
}
catch (TimeoutException)
{
}
}
private void button2_Click(object sender, EventArgs e)
{
Testread.hello(textBox1.Text);             //保存数据到arm.txt
MessageBox.Show("保存成功");
}
}
}
数据保存功能代码
//文本文件操作:创建/读取/拷贝/删除
using System;
using System.IO;
class Testread
{
public static void hello(string aa)
{
//创建并写入(将覆盖已有文件)
using (StreamWriter sw = File.CreateText("arm.txt"))
{
sw.WriteLine(aa);
}
}
}
PC端项目源文件下载:
1230131716_43784b9c
ARM7源文件下载:
1230131716_6437cd36
实验报告文件下载:
1238048063_5704a02c
此项目开发人员piikee  LALA XIXI对此项目保留所有权,请勿用于商业用途!

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/167.html

分享给朋友:

相关文章

模拟内存分配--操作系统课程设计

实验目的了解用户程序分配内存以及回收所用内存的过程,加深对操作系统存储管理机制的理解。实验内容采用首次适应法、最佳适应法或最差适应法,编写一内存分配和回收模拟程序。实验选取算法实验选取的算法是首次适应算法,即分配第一个足够大的孔。查找可以从...

Linux下基于GTK+的单词数值计算器

Linux下基于GTK+的单词数值计算器

一、 实验要求综合运用CTK+提供的函数,按照一定的规则(具体见实验报告)计算一个单词或者一组单词的数值,并输出到屏幕或文件中。1、 按照规则计算单词的值,如果 A B C D E F G H I J K L M N O P Q R S T...

Windows XP任务栏图标修复工具V1.2

此工具用于用于修复电脑桌面右下角任务栏图标消失的问题。具体使用方法和注意问题,请参考Windows XP任务栏图标修复工具V1.1版本。由于部分用户反映,使用本工具可以解决图标消失问题,但无法彻底解决,有时候启动系统图标还是会消失,又得重新...

txt文件编码批量转换器

txt文件编码批量转换器

用于批量转换txt文本文档的编码格式。通常我们电脑里的txt文件都是ASNI编码,放到手机,MP3等设备里面,打开看到的都是乱码。所以我们必须先把它们转换为Unicode格式,才能够在手机和MP3上面打开。如果有大量的文件,一个一个打开另存...

Discuz论坛批量发贴机V2.0

一、 Discuz论坛批量发贴机V2.0简介Discuz论坛批量发贴机,采用.net平台开发。该发贴机使用模块化开发,运用了多线程和xml存储技术。目前只开发了discuz发帖模块,适用于通用的Discuz论坛程序的批量发帖。可以设置一个帖...

月光宝盒

【基本介绍】"月光宝盒"是一款功能特别简单,容易上手的个人免费记账软件,它不需要用户了解深奥的财务知识,不用培训即会使用。该软件特别为月光一族开发,通过记录每日现金支出,收入的明细账,为个人使用者提供详细的收入支出明细等重要信息,同时软件提...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。