共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 跳转至页
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金打赏帖 |
|
|---|---|
| 在FireBeetle2ESP32-C5上实现温湿度检测和显示被打赏¥20元 | |
| 在FireBeetle2ESP32-C5上实现光照强度检测及显示被打赏¥21元 | |
| 以FireBeetle2ESP32-C5实现数据识读播报被打赏¥19元 | |
| 【STM32F103ZET6】14:实测STM32F1的串口输出任务的挂起与恢复功能被打赏¥27元 | |
| Chaos-nano在压力容器监控系统中的项目应用被打赏¥23元 | |
| 基于FireBeetle2ESP32-C5的WS2812B彩色灯带控制被打赏¥21元 | |
| SWM221CBT7显示开发板驱动TFT显示屏被打赏¥19元 | |
| SWM221CBT7显示开发板驱动OLED屏显示被打赏¥19元 | |
| SWM221CBT7显示开发板及其使用被打赏¥20元 | |
| 揭秘Chaos-nano:ArduinoProMini轻量级操作系统开发框架深度解析与实战应用被打赏¥19元 | |
我要赚赏金
