/*
* 初始化UART0
* 57600,8N1,无流控
*/
void uart0_init(void)
{
GPHCON |= 0xa0; // GPH2,GPH3用作TXD0,RXD0
GPHUP = 0x0c; // GPH2,GPH3内部上拉
ULCON0 = 0x03; // 8N1(8个数据位,无较验,1个停止位)
UCON0 = 0x05; // 查询方式,UART时钟源为PCLK
UFCON0 = 0x00; // 不使用FIFO
UMCON0 = 0x00; // 不使用流控
UBRDIV0 = UART_BRD; // 波特率为115200
}
/*
* 发送一个字符
*/
void putc(unsigned char c)
{
/* 等待,直到发送缓冲区中的数据已经全部发送出去 */
while (!(UTRSTAT0 & TXD0READY));
/* 向UTXH0寄存器中写入数据,UART即自动将它发送出去 */
UTXH0 = c;
}
void puts(char *s)
{
int i = 0;
while (s[i])
{
putc(s[i]);
i++;
}
}
关键字:JZ2440 串口 调试
引用地址:
JZ2440串口打印字符作为调试
推荐阅读最新更新时间:2024-11-12 13:31
力科推出简单易用的DDR信号调试工具-DDR Debug toolkit
引论
现在示波器上的DDR物理层信号分析方案,都是针对JEDEC规范的一致性测试。在这种方案中,分析软件会按照 JEDEC规范分析DDR信号的各种参数,并判断测试结果Pass或者Fail,最终生成一份报告。但是很多的研发工程师,并不想仅仅获得一个Pass或者Fail的结果,而是想对信号做调试分析,但是传统的串行信号分析软件无法分析DDR信号,为此,力科推出了新的DDR Debug toolkit。
新的DDR信号分析方法
力科DDR Debug toolkit提供了一种简单易用的DDR信号调试工具,它快速的对数据做读写分离,形成读写眼图,对眼图进行模板测试和参数测试,对抖动进行分解,定位问题的根源,对比较重要DDR
[测试测量]
stm32 串口通信
这次讲讲利用串口收发中断来进行串口通讯。STM32 上为每个串口分配了一个中断。也就是说无论是发送完成还是收到数据或是数据溢出都产生同一个中断。程序需在中断处理函数中读取状态寄存器(USART_SR)来判断当前的是什么中断。下面的中断映像图给出了这些中断源是如何汇合成最终的中断信号的。图中也给出了如何控制每一个单独的中断源是否起作用。 另外,Cortex-M3 内核中还有个NVIC,可以控制这里的中断信号是否触发中断处理函数的执行,还有这些外部中断的级别。关于NVIC 可以参考《ARM CortexM3 权威指南》,里面讲解的非常详细。 简单的说,为了开启中断,我们需要如下的代码: NVIC_InitTypeDef NV
[单片机]
串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别
有几个概念玩嵌入式的同志经常搞混。也不怨谁,现在的卖家为了一点可怜的销量都在故意混淆串口的概念。 如果你发现本文有哪里含糊,或者任何一点有可能影响理解的地方,请留言,我会修正以便帮助后来的朋友。
Point (所有要点都在这,请仔细阅读):
1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485指的是串口的电平标准(电信号)。
2、接线的时候,一般只接GND、RX(接收)、TX(发送)。不会接入Vcc等电源线,避免与目标设备上的供电冲突。
(接线法则:主机的 TX 接目标设备的 RX ,主机的 RX 接目标设备的 TX ,但是很多设计人员为了接线更为直观而故
[嵌入式]
STM32学习笔记——5个串口的使用方法
串口是我们常用的一个数据传输接口,STM32F103系列单片机共有5个串口,其中1-3是通用同步/异步串行接口USART(Universal Synchronous/Asynchronous Receiver/Transmitter),4,、5是通用异步串行接口UART(Universal Asynchronous Receiver/Transmitter)。 配置串口包括三部分内容: 1. I/O口配置:TXD配置为复用推挽输出(GPIO_Mode_AF_PP),RXD配置为浮空输入(GPIO_Mode_IN_FLOATING); 2. 串口配置:波特率等; 3. 中断向量配置:一般用中断方式接收数据。 注意事项:
[单片机]
STM323 USART串口通信中断实现
问题描述:利用stm32串口通信,当PC端发送字符8时,LED PB.0闪亮 第一步:配置系统时钟,这个不用多讲,代码就不贴出来了; 第二步:GPIO端口配置: 设置PA.9为复用推挽输出,PA.10为浮空输入,PB.0,PB.1,PB.2输出并初始化PB.0亮 void GPIO_Config() { GPIOA- CRH=0X04B0; GPIOB- CRL=0X0333; GPIOB- ODR=0X01; } 第三步:USART寄存器配置: void USART_Config() { USART1- BRR = 0x1D4C; U
[单片机]
51单片机串口收发设计的思考
最近项目里面要用到51单片机做一些控制,主要功能是通过串口接收上位机的指令并进行分析解码,等待一个外部触发信号到来后执行之前接收的指令动作。正好手边有一片STC89C52,赶紧搭了个最小系统。STC89C52单片机可以通过串口下载程序,可是试了好几次都没有下载成功,仔细检查发现原来是9针串口线忘了接GND(地线)。顺便总结下STC单片机下载不成功的主要原因: 1、最小系统出问题(晶振对不对、复位电路对不对、引脚连线对不对); 2、电平匹配问题(一般是要加MAX232电平转换芯片的); 3、串口线(串口线质量也是很重要的)连得对不对(至少连3根线TXD、RXD、GND),包括发送接收的方向对不对; 4、下载操作步
[单片机]
怎么调试S12X微控制器的XGATE上的软件
介绍 XGATE外设协处理器拥有一个名为软件错误探测(Software Error Detection)的安全特性。软件错误探测特性使XGATE能探测到不应该在程序执行中出现的状态(condition)。探测到这些状态说明应用程序代码有问题。 XGATE一探测到软件错误状态就会立即追踪程序的执行并触发CPU12X的中断以进行纠错行动。在典型的应用程序中,纠错行动只会简单地初始化并重启系统。然而,在应用程序代码的开发调试阶段,我们会想要精确定位XGATE软件错误。 这篇文档会帮助你调查S12X设备上XGATE软件的错误。文档的第二部分讨论了S12XE(和S12XF)产品家族。 注意: 这篇应用笔记描述的是写这篇文档时,出
[单片机]
Keil C51 中使用Printf()进行串口输出
如何使用printf在串口显示信息,有两种办法,因为在keil C51中 printf函数是调用putchar进行数据传送的,而putchar应该是先判断TI是否为1,不为1则等待为1。 如果为1则清0,然后送出一个字符。因此如果你直接使用printf函数,你的程序就会在putchar函数中等待TI为1。这时你的程序就相当于直接死掉了。你可以通过改写putchar函数实现自己的目的。TI相当于是初始化不给赋初值就不干活。 所以第一种办法就是在初始化的时候,给TI赋值为1,比如 void uart_init() { PCON &= 0x7F; //波特率不倍速 SCON = 0x50; //8位数据,可变波特率
[单片机]