lpc1766支持最大飞歌导航端口和波特率率是多少

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
下载积分:300
内容提示:LPC1700
文档格式:PDF|
浏览次数:10|
上传日期: 06:07:54|
文档星级:
该用户还上传了这些文档
官方公共微信请问,lpc2103串口如何设置波特率,外部晶振使用11.0592MHZ,未设置PLL。请问下面的代码哪里有问题。_百度知道
请问,lpc2103串口如何设置波特率,外部晶振使用11.0592MHZ,未设置PLL。请问下面的代码哪里有问题。
&#47。 PINSEL0=0x05.0 P0;//
/&#47.1的第二功能;/ /未使用PLL 处理器时钟频率CCLK为外部晶振频率 U0LCR=0x80.这段代码设置的波特率是多少.0592MHz /DLAB=0
可以进行读写U0RBR和U0THR操作 U0FCR=0x01; U0FDR=0x81;U0LCR的最高位DLAB为1 使U0DLL U0DLM U0FDR可操作 U0DLL=8;设置波特率 9600 外部晶振11;UART0设置 工作模式设置 U0LCR=0x03;
&#47?void UART0Init(){ //ǗIO设置为串口 使用P0; U0DLM=0;
提问者采纳
0592M的话:DLL);(DLM,如果想要9600的话;8=86400如果你的时钟部分设置的Fpclk就是11;x48,分频数应该是&#47,即U0DLL=72,即&#47,那么波特率为baud=Fpclk/16&#47
提问者评价
其他类似问题
为您推荐:
波特率的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁7523人阅读
串口操作,首先是功率,时钟控制打开。
然后是管脚选择,设置为串口模式。
然后设定串口传输数据格式。
波特率设置,(主意有小数位和没小数位时候不一样,有小数位需要设置DIVADDL和MULVAL)。
然后锁存波特率。
设定控制UARTn RX和TX FIFO的操作。
最后打开系统中UART0的中断,使能接收中断。
详见代码,代码中有详细注释。
/*************************************************************************************
the main file
* NXP --& LPC1768
* Author : light
***************************************************************************************/
#include&LPC17XX.h&
#define FOSC
振荡器频率
#define FCCLK
主时钟频率&=100Mhz
FOSC的整数倍
#define FCCO
(FCCLK * 3)
PLL频率(275Mhz~550Mhz)
与FCCLK相同,或是其的偶数倍 */
#define FPCLK
(FCCLK / 4)
外设时钟频率,FCCLK的1/2、1/4*/
或与FCCLK相同
int Uart0RecvB
// UART0 RX DATA
/********************************************************************************
** Descriptions
:Uart0 Initial
** parameters
:baud rate
** Returned value
*********************************************************************************/
void Uart0Init(uint32_t bps)
LPC_SC-&PCONP |= (1&&3);
//打开UART0功率、时钟控制位
LPC_PINCON-&PINSEL0 = 0X;
//P0.2 P0.3设置为串口
LPC_UART0-&LCR = 0x83;
//设置串口数据格式,8位字符长度,1个停止位,无校验,
//使能访问除数锁存器 ,设定波特率
LPC_UART0-&DLM = ((FPCLK/16)/bps) / 256; //除数高八位
, 没有小数情况
LPC_UART0-&DLL = ((FPCLK/16)/bps) % 256;
//除数第八位
LPC_UART0-&LCR = 0x03;
//禁止访问除数锁存器,锁定波特率
LPC_UART0-&FCR
//控制UARTn RX和TX FIFO的操作。接收数据一个字节触发中断
NVIC_EnableIRQ(UART0_IRQn);
/* enable irq in nvic
LPC_UART0-&IER = 0x01;
//使能接收中断
/********************************************************************************
** Descriptions
:Uart0 Receive Data
** parameters
** Returned value
:Received Data
*********************************************************************************/
int Uart0RecvByte(void)
//当UnRBR包含未读字符时,UnLSR[0]就会被置位;当UARTn RBR FIFO为空时,UnLSR[0]就会被清零
UnRBR包含有效数据
while(!((LPC_UART0-&LSR) & 0x01));
//等待判断LSR[0]是否是1,1时表示RBR中接收到数据
return(LPC_UART0-&RBR);
//读取接收数据
/********************************************************************************
** Descriptions
:Uart0 Send Data
** parameters
** Returned value
*********************************************************************************/
int Uart0SendByte(int buf)
//当检测到UARTn THR已空时,THRE就会立即被设置。写UnTHR会清零THRE
UnTHR包含有效字符
while(!((LPC_UART0-&LSR) & 0x01));
//等待判断LSR[5](即THRE)是否是1,1时表示THR中为空
LPC_UART0-&THR =
//发送数据
/********************************************************************************
** Descriptions
:Uart0 Interrupt Receive Data
** parameters
** Returned value
:Received Data
*********************************************************************************/
void UART0_IRQHandler(void)
Uart0RecvBuf = LPC_UART0-&RBR;
//读取接收数据
Uart0SendByte(Uart0RecvBuf);
//发送接收到的数据
/*----------------------------------------------------------------------------
The main Function
*----------------------------------------------------------------------------*/
int main(void)
SystemInit();
Uart0Init(115200);
// temp = Uart0RecvByte();
//查询接收数据
// Uart0SendByte(temp);
//发送数据
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:265255次
积分:3472
积分:3472
排名:第4427名
原创:106篇
转载:67篇
评论:36条
(6)(11)(6)(3)(5)(1)(1)(2)(1)(2)(3)(2)(14)(1)(1)(10)(3)(4)(12)(4)(6)(6)(16)(12)(8)(1)(4)(1)(1)(3)(1)(4)(6)(12)

我要回帖

更多关于 lpc1766 的文章

 

随机推荐