标准库
//uart1
int fputc(int ch,FILE *f)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
USART_SendData(USART1,(unsigned char)ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
return (ch);
}
//uart2
int fputc(int ch,FILE *f)
{
while(USART_GetFlagStatus(USART2,USART_FLAG_TC) != SET);
USART_SendData(USART2,(unsigned char)ch);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC) != SET);
return (ch);
}
//uart3
int fputc(int ch,FILE *f)
{
while(USART_GetFlagStatus(USART3,USART_FLAG_TC) != SET);
USART_SendData(USART3,(unsigned char)ch);
while(USART_GetFlagStatus(USART3,USART_FLAG_TC) != SET);
return (ch);
}
关键字:STM32 uart1 uart2 uart3
引用地址:
STM32的uart1、uart2、uart3重定向函数(标准库版)
推荐阅读最新更新时间:2024-11-17 02:38
基于STM32在喷绘机喷头控制系统的设计与实现
0 引言 由于喷绘机喷绘过程中采用的是压电喷头工作原理,为保证喷绘出图像清晰细腻,喷绘机需要在同一温度下提供稳定的驱动电压对压电晶体进行控制。如何在精准的条件下根据室内温度实时、快速、方便地更改驱动电压和配置数据值得研究。 1 系统设计理念 喷头的驱动电压VDD2(t)取决于喷头容积电压Vrank、基于不同厂家不同颜色的油墨粘滞度而提供每色油墨与标准油墨的修正值Voffset电压、不同颜色的油墨在不同温度下需要的驱动电压补偿值Vdiff(t),即VDD2(t)=Vrank+Voffset+Vdiff(t)。不同颜色的油墨在不同的温度下驱动电压的补偿值Vdiff(t),称之为T-V数据。 不同厂家油墨温压数据不同,厂家会根据
[单片机]
STM32芯片简介以及功能特点和其优异性
STM32与单片机 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。由于8位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。常见的8位单片机主要有:Intel的51系列,Atmel的AVR系统,Microchip公司的PIC系列,TI的MSP430系列等。而STM32是一种功能比较强大的32位的单片机。它和8位单片机最大的不
[单片机]
STM32内存分布学习
1.STM32内存分布 下图是一张stm32的内存映射图,其中代码区是从0x0800 0000开始的,他的结束地址是0x0800 0000加上实际芯片的flash大小,他的ram的起始地址是0x2000 0000,然后结束地址依然是加上芯片实际的ram大小。 2.单片机中RAM\ROM\FLASH区别 1.RAM(Random Access Memory) 特点: 1. 掉电丢失数据; 2. 随机存取; 分类: 静态RAM/(SRAM) :不需要刷新电路保持数据,贵快,cpu的一级二级缓存; 动态RAM/(DRAM):需要刷新电路保持数据,比SRAM慢,比任何ROM快,计算机内存; 2.ROM(Read Onl
[单片机]
JFlash ARM对stm32程序的读取和烧录
本篇文章主要是记录一下JFlash ARM 的相关使用和操作步骤,读取程序说不上破解,这只是在没有任何加密情况下对Flash的读写罢了! 在我们装了JLINK驱动后再根目录下找到JFlash ARM ,运行。 读取Flash程序: 第一步:Option-- Project Settings-- CPU下选择 Device 在下拉菜单中找到自己的芯片型号后点击确定。 第二步:Targect-- Connect链接JLINK ;Targect-- Read back-- Entrie chip读取整个Flash区域, 接下来就等待读取完成了。 第三部:File-- Save file as 选择要储存的文件类型如:HE
[单片机]
STM32学习笔记—片内FLASH读写失败问题分析
FLASH,指Flash Memory,是一种非易失性存储器(闪存),掉电能正常保存数据。 STM32的存储器通常包含内部SRAM、内部FLASH,部分系列还包含EEPROM。其中FLASH通常用于存储代码或数据,可被读写访问。 STM32 FLASH 基础内容 STM32的FLASH组织结构,可能因不同系列、型号略有不同。比如大家熟悉的STM32F1中小容量一页大小只有1K,而F1大容量一页有2K。 还比如有些系列以扇区为最小单元,有的扇区最小16K,有的128K不等。 本文主要结合F4系列来描述关于FLASH的相关内容。 1.Flash 结构 通常Flash包含几大块,这里以F40x为例: 主存储器:用来存放用户
[单片机]
STM32 USB转串口驱动移植到SylixOS中遇到的问题总结
简介 由于客户项目需求,需要在STM32的硬件平台上实现USB转串口的功能,由于ST公司基于STM32硬件平台实现了相应的USB库以方便开发者进行开发,因此,在SylixOS下实现USB转串口功能时对该USB库进行了移植。由于该USB库的实现是基于STM32的裸机代码实现,因此在移植的过程中,不需要做过多的修改。 下面章节主要介绍在移植STM32的USB转串口驱动到SylixOS下遇到的问题以及对应的解决方法。对于其中的有些解决方法在移植STM32其他外设驱动的过程中也依然适用。 2. 移植遇到的问题及解决方法 2.1 非对齐内存访问错误 在移植完USB转串口驱动后,烧写SylixOS到STM32后,在运行过
[单片机]
意法半导体:低功耗策略的延伸
“现在低功耗看起来是个非常热门的词,但实际上我们04年左右就已经制定这个策略了。”意法半导体大中国区微控制器市场经理James表示。伴随着云计算概念的普及,智能家居再一次被人们所关注,而意法半导体显然不愿意错过终端处理器市场。 STM32L低功耗处理器发布 STM32L处理器是意法半导体最新发布的一款基于Cortex-M3 32位内核的低功耗处理器,与之前的STM32其他系列产品相比,最大的特点是采用了EnergyLite超低功耗平台。 究竟何为EnergyLite呢?意法半导体单片机部市场经理张军辉解释道,“EnergyLite包含两部分,一个是意法半导体独创的130nm技术的抄底漏电流工艺,另外则是与S
[单片机]
STM32学习笔记一一UCOSII(1)
1.简介 UCOSII 是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。 1.1 UCOSII 体系结构图 UCOSII 的移植,我们只需要修改: os_cpu.h、 os_cpu_a.asm 和 os_cpu.c等三个文件。 os_cpu.h: 进行数据类型的定义,以及处理器相关代码和几个函数原型; os_cpu_a.asm:是移植过程中需要汇编完成的一些函数,主要就是任务切换函数; os_cpu.c:定义一些用户 HOOK 函数。 定时器的作用:为 UCOSII 提供系统时钟节拍,
[单片机]