历史上的今天
返回首页

历史上的今天

今天是:2024年12月13日(星期五)

正在发生

2018年12月13日 | STM32的printf使用

2018-12-13 来源:eefocus

#include


//加入以下代码,支持printf函数,而不需要选择use MicroLIB   

#if 1

#pragma import(__use_no_semihosting)             

//标准库需要的支持函数                 

struct __FILE 

int handle; 


}; 


FILE __stdout;       

//定义_sys_exit()以避免使用半主机模式    

void _sys_exit(int x) 

x = x; 

}  

//重定义fputc函数 

int fputc(int ch, FILE *f)

{      

while((USART1->SR&0X40)==0);

USART1->DR = (u8) ch;      


return ch;

}

#endif 


void uart_init(u32 bound)

{

//GPIO端口设置

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟


//USART1_TX   GPIOA.9

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出

GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9


//USART1_RX   GPIOA.10初始化

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入

GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10  


//USART 初始化设置

USART_InitStructure.USART_BaudRate = bound;//串口波特率

USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式

USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位

USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式


USART_Init(USART1, &USART_InitStructure); //初始化串口1

USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//开启串口接受中断

USART_Cmd(USART1, ENABLE);                    //使能串口1 

}

推荐阅读

史海拾趣

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

飞虹半导体自2002年建厂之初,便意识到大功率半导体产品市场几乎被国外进口产品垄断。为了改变国内电子厂家在价格与交货期上的被动局面,飞虹半导体毅然踏上了大功率半导体国产化生产研发的道路。尽管面临重重困难,但飞虹半导体坚持不懈,逐步在LED驱动、工业开关电源、新能源电动车等多个领域取得突破。其功率器件产品因性能优越,逐渐获得市场认可,为国产半导体替代进口产品贡献了重要力量。

ECS公司的发展小趣事

随着云计算技术的不断发展,ECS公司意识到只有不断创新才能保持竞争优势。他们投入大量研发资源,对ECS服务进行了多次技术升级和产品优化。例如,他们引入了智能调度算法,实现了计算资源的自动分配和负载均衡;同时,他们还加强了数据安全性和隐私保护措施,确保客户的数据安全。这些技术突破和产品升级使得ECS公司的服务更加稳定、可靠和高效。

Astro Industries Inc公司的发展小趣事

随着产品的热销,Astro Industries Inc开始积极寻求市场拓展的机会。公司加强了与各大销售渠道的合作,通过线上线下相结合的方式,将产品推向更广阔的市场。同时,公司也注重品牌建设,通过统一的品牌形象和宣传策略,提升了品牌知名度和美誉度。这些举措使得Astro Industries Inc在电子行业中逐渐崭露头角。

DEMMELPRODUCTS公司的发展小趣事

在成功推出首款产品后,DEMMELPRODUCTS公司开始积极拓展市场。公司管理层敏锐地捕捉到全球化的发展趋势,积极寻求与国际知名企业的合作机会。通过与跨国公司的技术交流和项目合作,DEMMELPRODUCTS公司的产品逐渐进入国际市场,并获得了良好的口碑。同时,公司还积极参加国际电子展会和论坛,提升品牌知名度和影响力。

Base Two (2) Systems公司的发展小趣事

品质是Base Two (2) Systems的生命线。公司始终坚持严格的质量管理体系,从原材料采购到生产制造的每一个环节都进行严格把控。这种对品质的执着追求,使得公司的产品在市场上赢得了客户的广泛信赖。许多客户与公司建立了长期稳定的合作关系,成为公司发展的重要支撑。

Advanced Technology Corp公司的发展小趣事

ATC公司的初创时期充满了挑战与艰辛。公司由几位电子工程领域的专家创立,他们凭借对技术的深刻理解和敏锐的市场洞察,决定投身于电子产品的研发与生产。在资金匮乏、市场竞争激烈的环境下,他们夜以继日地工作,不断试验、改进,最终成功研发出了一款具有竞争力的电子产品,为公司的发展奠定了坚实基础。

问答坊 | AI 解惑

44b0能用IAR编写程序吗

如果用ads开发 是不是每个程序都要用到44b0的启动代码 不同程序启动代码都一样吗 我听说用iar开发不用启动代码   和用keil一样 44b0+iar+jtag 可以吗…

查看全部问答>

有关波特率的知识【很精辟】

一. 波特率   并行通信中,传输速率是以每秒传送多少字节(B / S)来表示。而串行通信中,传输速率在基波传输的情况下(不加调制,以其固有的频率传送)是用每秒钟传送的位数(bit/s)即波特率来表示。因此,1波特=1位/秒。   最常用的标 ...…

查看全部问答>

新手报到,回答关于PCB相关的问题

受两位大美女的邀请,来eew做客啦,大家有什么关于PCB的问题可以发帖,一般我半天内就能回答了的,关于本人的特性可以到网上找一下,riverpeak可以找到我写过的几篇文章,看完后就了解我啦。 本人不爱研究Protel,所以看到Protel相关的帖子我一般 ...…

查看全部问答>

Unicode问题 进来看看

用c# 调用ril 函数发送at 命令,可是 发送命令貌似发送到底层貌似解码是错的 求高手解释一下  字符串应该怎么重新编码。 …

查看全部问答>

帮忙看一下,输入的信号被忽略了!

程序实现功能如下: 通过clk的脉冲,在recive=0时统计clk的跳变数,达到计时的目的,再把时间通过4个七段数码管显示出来。 程序代码如下: library ieee; use ieee.std_logic_1164.all; entity device is port(clk        ...…

查看全部问答>

我的ZLG M0估计杯具了

今天兴高采烈的在调 PWM程序 弄示波器探头接触引脚的时候 貌似出现了点火花  我也没太在意 出现了波形 可是频率差了点 于是乎准备重新载程序 突然就出现了 我想估计芯片毁了…

查看全部问答>

BIOS\"任务\"对象的问题.

请教各位:      在BIOS中,我用TSK0调用函数test(),硬件中断INT1调用T0ISR().运行程序后,程序一直进入T0ISR(),而不调用\\"任务\\"对象.不应该是在两次中断之间的时间里,会调用TSK0吗?或者是需要什么API函数调用? 部分程序 ...…

查看全部问答>

定时器A的捕获模式

尽管看了相关的资料,但理解上有点困难...希望大神们给我提供一个例子,例如捕获P1.1端口输入的波形,上下沿都捕获来测高低电平时间的例程,或者其他例程也可以!也可以谈谈你对捕获模式的理解…

查看全部问答>

第九章 Mass Storage设备

小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paulhyde@126.com 第九章 Mass Storage设备 9.1 Mass Stor ...…

查看全部问答>