实验室正在研究基于AT91SAM7se512芯片的无人机系统和基于SImulink的无人机飞行仿真平台,主控制芯片与外围传感器的通讯和主控芯片与PC机的通讯是本项目最基本的部分,下面将此段时间对串口通信的认识记录下来,由于本人知识水平的有限,欢迎各位读者积极指正,我将不胜感激。
(一)、硬件部分.
在AT91SAM7se512的串口通信过程中,我使用的是usb转串口线,单一的232串口还是不能和主控芯片连接的,因为二者的电平不一样,232的电平为:高电平=-(3~15)V,低电平=+(3~15)V,而主控芯片的电平为TTL电平,高电平=3V,低电平=0V。所以在串口通信中,必须使用一块232电平转TTL电平的芯片,这里采用的是ADM3202,ADM3202是四通道的TTL转RS232电平的芯片。
由于AT91SAM7se512的两个串口在系统中已经使用,这里选择DBGU口的串口功能做的实验。
(二)、软件的实现
因为在串口发送和接收过程中,中断方式有利于提高cpu的利用率,所以在此选择中断方式。
2.1 初始化
在串口的初始化程序中,需要对串口的IO引脚分配、电源管理、串口配置、AIC中断配置和使能、PDC的设置和DBGU中断的使能进行设置。初始化程序如下所示:
void AT91F_DBGU_Simulink_Init(void)
{
AT91F_DBGU_