ARM体系结构及接口技术,ARM波形控制,PWM配置
 
- UID
- 1066743
|
ARM体系结构及接口技术,ARM波形控制,PWM配置
1,串口设备
1.1, UART 协议
在这里插入图片描述
1.2,uart 串口波形
发送 0xFF 0X00 0X04 0X08数据
串行通信参数设置:BAUD:115200,8位数据,1个停止位,无奇偶校验,发送顺序为低位先发送。
在这里插入图片描述
波形实现方法:
CPU 已实现,仅需设置寄存器
GPIO管脚模拟波形
1.3,例
//发送0x04 数据
void uart_tx(void)
{
GPA1CON = GPA1CON&~(0xf<<4)|(0x01<<4); //设置GPA1_1 GPIO输出模式
//开始位
GPA1DAT = GPA1DAT&~0x02 ; //设置GPA1_1 低电平
delay10ms();
//传数据 0x04 0000 0100
delay10ms(); //0
delay10ms(); //0
GPA1DAT = GPA1DAT|0x02 ; //1
delay10ms();
GPA1DAT = GPA1DAT&~0x02 ; //设置GPA1_1 低电平
delay10ms(); //0
delay10ms(); //0
delay10ms(); //0
delay10ms(); //0
//停止位
GPA1DAT = GPA1DAT|0x02 ; //1
delay10ms();
}
void uart_rx(void)
{
unsigned char output=0;
GPA1CON = GPA1CON&~(0xf); //设置GPA1_1 GPIO输入模式
//检测开始位
while(1)
{
if(GPA1DAT&0x01==0)
break;
delay10ms();
}
//接收数据
if(GPA1DAT&0x01==0) //bit0
output=0;
else
output=1;
if(GPA1DAT&0x01==0) //bit1
output=output&~(0x01<<1);
else
output=output|(0x01<<1);
if(GPA1DAT&0x01==0) //bit2
output=output&~(0x01<<2);
else
output=output|(0x01<<2);
....
} |
|
|
|
|
|