共2条
1/1 1 跳转至页
ZLG,easyarm2200,UART1 请问ZLG:easyarm2200的UART1用作一般串口时:
问
只用到TxD1,RxD1,GND三根线,其他的脚一定要设置成GPIO吗?
PINSEL0=0x55550000;对吗? 答 1: re:普通串口只要PINSEL0=0x00050000 就可以了。 答 2: 我的程序是这样的:
#include "config.h"
/****************************************************************************
* 名称:UART1Init()
* 功能:UART1初始化(MODEM功能)。
* 入口参数:bps 波特率
* 出口参数:无
****************************************************************************/
void Uart1Init(uint32 bps)
{
uint16 Fdiv;
PINSEL0 = 0x00050000; // 选择管脚为UART1
U1LCR = 0x83; // 允许访问分频因子寄存器 ,8位字符长度
Fdiv = (Fpclk / 16) / bps; // 设置波特率
U1DLM = Fdiv / 256;
U1DLL = Fdiv % 256;
U1LCR = 0x03; // 禁止访问分频因子寄存器 ,8位字符长度
// 且设置为8,1,n
//U1IER = 0x0D; // 允许接收和MODEM中断
//U1FCR = 0x87; // 初始化FIFO
// U1MCR = 0x03;
}
/****************************************************************************
* 名称: Uart1SendByte()
* 功能: Uart1发送一个字节数据
* 入口参数:data 要发送的字节数据
* 出口参数:无
*****************************************************************************/
void Uart1SendByte(uint8 data)
{
U1THR = data ;
while((U1LSR&0x40)==0);
}
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
* 入口参数:dly 延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<10000; i++);
}
int main(void)
{
Uart1Init(115200);
while(1)
{
Uart1SendByte('1');
DelayNS(10);
}
return(0) ;
}
在用串口调试工具观察的时候,没有看到数据。开发板上JP1,jp2断开,jp3全部短接。 答 3: 单步调试的时候,发现U1THR一直是0x00000000,怎么会这样的? 答 4: 请问咨询电话是什么?
PINSEL0=0x55550000;对吗? 答 1: re:普通串口只要PINSEL0=0x00050000 就可以了。 答 2: 我的程序是这样的:
#include "config.h"
/****************************************************************************
* 名称:UART1Init()
* 功能:UART1初始化(MODEM功能)。
* 入口参数:bps 波特率
* 出口参数:无
****************************************************************************/
void Uart1Init(uint32 bps)
{
uint16 Fdiv;
PINSEL0 = 0x00050000; // 选择管脚为UART1
U1LCR = 0x83; // 允许访问分频因子寄存器 ,8位字符长度
Fdiv = (Fpclk / 16) / bps; // 设置波特率
U1DLM = Fdiv / 256;
U1DLL = Fdiv % 256;
U1LCR = 0x03; // 禁止访问分频因子寄存器 ,8位字符长度
// 且设置为8,1,n
//U1IER = 0x0D; // 允许接收和MODEM中断
//U1FCR = 0x87; // 初始化FIFO
// U1MCR = 0x03;
}
/****************************************************************************
* 名称: Uart1SendByte()
* 功能: Uart1发送一个字节数据
* 入口参数:data 要发送的字节数据
* 出口参数:无
*****************************************************************************/
void Uart1SendByte(uint8 data)
{
U1THR = data ;
while((U1LSR&0x40)==0);
}
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
* 入口参数:dly 延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<10000; i++);
}
int main(void)
{
Uart1Init(115200);
while(1)
{
Uart1SendByte('1');
DelayNS(10);
}
return(0) ;
}
在用串口调试工具观察的时候,没有看到数据。开发板上JP1,jp2断开,jp3全部短接。 答 3: 单步调试的时候,发现U1THR一直是0x00000000,怎么会这样的? 答 4: 请问咨询电话是什么?
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
我要赚赏金
