历史上的今天
返回首页

历史上的今天

今天是:2024年10月29日(星期二)

正在发生

2019年10月29日 | STM32F103两种串口输出的方式 学习笔记

2019-10-29 来源:eefocus


#include "stm32f10x.h"    

#include "stm32f10x_rcc.h"    

#include "stm32f10x_gpio.h"    

#include "stm32f10x_usart.h"   

#include "stm32f10x_crc.h"  

#include "system_stm32f10x.h"   

#include "stdio.h" 

 

void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data)  

{  

    USART_SendData(USARTx, Data);  

    while(USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET){}  

}  

 

void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str)    

{    

    while (0 != *str)    

    {    

        UART_PutChar(USARTx, *str);    

        str++;      

    }    

int main(void)

{

 UART_PutStr(USART1,"hello world!n"); 

}

个人觉得第一种比较人性化,容易理解。 


#include "delay.h"

#include "usart3.h"

#include "stdarg.h"  

#include "stdio.h"  

#include "string.h"  

#include "timer.h"

 

//串口3,printf 函数

//确保一次发送数据不超过USART3_MAX_SEND_LEN字节

void u3_printf(char* fmt,...)  

{  

u16 i,j; 

va_list ap; 

va_start(ap,fmt);

vsprintf((char*)USART3_TX_BUF,fmt,ap);

va_end(ap);

i=strlen((const char*)USART3_TX_BUF); //此次发送数据的长度

for(j=0;j {

  while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕   

USART_SendData(USART3,USART3_TX_BUF[j]); 

}

}

 

int main(void)

{

 

u3_printf("hello world");

}

推荐阅读

史海拾趣

Heatron公司的发展小趣事

在20世纪初,随着电子工业的蓬勃发展,对高效、可靠电加热元件的需求日益增长。Heatron公司凭借其深厚的技术积累,成功研发出了一种新型的高密度单头电热管,该产品在耐高温、耐腐蚀性能上实现了重大突破。这一技术成果迅速获得了市场的广泛认可,不仅提升了Heatron在电加热器市场的地位,还推动了整个电子行业相关应用的技术进步。

Cal Test Electronics公司的发展小趣事

随着全球市场的不断变化和公司规模的扩大,Cal Test Electronics开始实施全球化战略。公司积极拓展海外市场,通过参加国际展会、建立海外销售渠道等方式,提高品牌知名度和市场份额。同时,公司还加强与国际同行的合作与交流,引进先进的技术和管理经验,不断提升自身的竞争力。这些努力使得Cal Test Electronics逐渐成为一个具有全球影响力的电子配件和测试产品制造商。


这些故事旨在展示Cal Test Electronics公司可能的发展轨迹和成就,但并非基于实际发生的事件。对于该公司的真实发展历程和故事,建议查阅相关官方资料或行业报告以获取更准确的信息。

Doodle Labs公司的发展小趣事

为了进一步扩大市场份额,Doodle Labs开始寻求国际合作和业务拓展。公司与多家国际知名的无人机制造商和物联网企业建立了合作关系,共同开发新的解决方案和产品。同时,Doodle Labs还积极开拓国际市场,将产品出口到欧洲、北美等地区。这些努力不仅为公司带来了更多的商业机会,也提升了Doodle Labs在国际市场的知名度。

川晶科技公司的发展小趣事

在市场竞争日益激烈的背景下,川晶科技始终坚持创新驱动的发展战略。公司不断加大产品创新和自主研发的力度,推动产品向微型化、低耗能方向发展。通过引入新技术、新工艺,川晶科技成功开发出了一系列具有竞争力的新产品,满足了市场的多样化需求。同时,公司还积极探索新的应用领域,努力拓展市场空间,为公司的持续发展注入了新的动力。

Daco Semiconductor Co Ltd公司的发展小趣事

随着技术的不断成熟,Daco开始积极寻求市场拓展。公司首先与几家知名的电子设备制造商建立了合作关系,为其提供定制的半导体解决方案。同时,Daco也积极参与国际半导体展览和交流活动,与全球的行业同仁建立了广泛的联系。通过不断的市场拓展和战略合作,Daco的产品逐渐进入了全球市场,公司的知名度和影响力也得到了显著提升。

Captive Fastener公司的发展小趣事

Captive Fastener公司深知产品质量是企业生存和发展的关键。公司建立了严格的质量管理体系,从原材料采购到生产加工、产品检验等各个环节都进行严格把关。此外,公司还定期对员工进行质量意识和技能培训,确保每一道工序都符合质量标准。这些措施有效提升了公司的产品质量和客户满意度。

问答坊 | AI 解惑

arm资料

arm资料嵌入式系统…

查看全部问答>

3.3V与5V系统连接技巧

3.3V与5V系统连接技巧3.3V与5V系统连接技巧…

查看全部问答>

关于WINCE6.0下ACM驱动问题

请教各位高手给小弟有关ACM驱动的资料,谢谢了。…

查看全部问答>

WINCE5.0启动问题:始终死在Sp=ffffc7cc

在WINCE5.0条件下,使用cirrus EDB9307/12/15 BSP。BUILD OPTION只选中Enable Eboot Space in Memory选项。编译后下载,运行结果如下: Windows CE Kernel for ARM (Thumb Enabled) Built on Aug  4 2008 at 18:38:38     ...…

查看全部问答>

Windows CE 打印机

Windowd CE 讨论群 8260484 欢迎广大爱好者++ Windows CE 2.0及其以上版本包括对打印机的支持。Windows CE操作系统使用的打印模型是为基于Windows CE的桌面平台定义的打印模型的子集。只有少量为打印机驱动程序定义的图形驱动程序函数是Windows CE ...…

查看全部问答>

ADC

128的模数转换 谁比较了解  我仿真感觉不对 特别差分输入…

查看全部问答>

zigbee2007 Pro z-stack 2.3.0如何得知一个节点离开了网络

比如: 设备断电了或其它原因离开了网络,在程序中可以得到节点离开网络的事件吗? 现在只知道设备加入网络时会发送device announce的广播,离开网络时有相应的广播包吗?…

查看全部问答>

跨阻放大器的输入噪声问题

现在在做一个nA级别电流信号的放大电路,第一级准备选用跨阻放大器,但不知道影响信号的主要是电流噪声还是电压噪声,想求助一下各位。 PS:我本来准备用TI的跨阻放大器LMH6629,但是发现他的输入偏置电流是15uA,相对于输入信号来说非常大,不知 ...…

查看全部问答>

驱动装好了,为何quartus 13.0 的pragmaer 里老是no hardware

向大家请教一下,在驱动装好的情况下,为什么quartus 13.0 的pragmaer 里老是提示no hardware \0\0\0eeworldpostqq…

查看全部问答>

奇怪,这里好象没看到CPLD的贴子

我最近学习cpld,但这里全是fpga的贴子,是不是cpld已经用得很少了?…

查看全部问答>