历史上的今天
返回首页

历史上的今天

今天是:2025年04月12日(星期六)

2019年04月12日 | STM32F103两种串口输出的方式

2019-04-12 来源: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");


推荐阅读

史海拾趣

ABI Electronics公司的发展小趣事

随着电子行业的快速发展,集成电路测试成为了ABI Electronics公司新的增长点。ABI团队针对集成电路的复杂性和多样性,开发出了先进的集成电路测试仪。该测试仪具备高精度、高可靠性、高自动化等特点,能够快速准确地检测集成电路的性能和故障,为集成电路的生产和研发提供了有力的支持。

Califia Lighting公司的发展小趣事

在竞争激烈的电子照明市场中,Califia Lighting始终坚持以技术创新为核心竞争力。公司不断投入研发资源,推动LED照明技术的升级和突破。通过引入先进的生产工艺和设计理念,Califia Lighting成功开发出了一系列具有独特优势的产品,如高效节能、长寿命、环保等,赢得了市场的广泛认可。

Aerovox Corporation公司的发展小趣事

Califia Lighting公司的创立源于创始人对节能照明技术的深刻理解和前瞻视野。在电子照明行业快速发展的背景下,他们看到了LED照明技术的巨大潜力,并决定投身其中。凭借对技术的热爱和对市场的敏锐洞察,Califia Lighting成功研发出了一系列高性能的LED灯具和模块,为公司的起步奠定了坚实的基础。

Broyce Control公司的发展小趣事

进入21世纪,Broyce Control已经成为电气和电子产品设计、制造和供应领域的佼佼者。公司不仅在技术上持续创新,还注重与行业伙伴的合作与交流。通过参与国际标准的制定和推广,Broyce Control逐渐在行业内树立了领导地位。同时,公司还积极承担社会责任,推动可持续发展和环保理念的实践,为行业的健康发展做出了积极贡献。

CYMBET公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。CYMBET公司深知这一点,始终将质量管理作为重中之重。公司建立了完善的质量管理体系,从原材料采购、生产制造到产品检测等各个环节都严格把控质量。同时,CYMBET还引进了先进的生产设备和检测仪器,确保产品的可靠性和稳定性。这种对质量的执着追求使得CYMBET的产品在市场上获得了良好的口碑和广泛的认可。

Excel-Display Corporation公司的发展小趣事

EDC深知人才是企业发展的核心动力。因此,公司一直致力于人才培养和团队建设。

公司建立了完善的人才培养机制,为员工提供各种培训和学习机会,帮助他们不断提升自己的专业能力和综合素质。同时,EDC还注重员工的福利待遇和职业发展,为员工创造了一个良好的工作环境和发展空间。

在团队建设方面,EDC注重营造积极向上的企业文化和团队合作精神。公司定期组织各种团队活动和文化交流活动,增强员工的凝聚力和归属感。这些举措不仅提高了员工的工作积极性和效率,也为公司的长远发展提供了有力保障。

问答坊 | AI 解惑

IC设计生存发展模式

存活之道   有人形容,目前中国的IC设计产业处在国际竞争的“万山围子”里,存活不易,发展更难。好在“山高自有行客路”,存活和发展之道还是有的,把握得好,这个行业由“弱冠”而“成人”的时间应不会太长。   华为和中兴这两家大企业利用其 ...…

查看全部问答>

DSP系统的测试和调试1

DSP系统的测试和调试1…

查看全部问答>

软硬兼施

我是搞纯软件的,c和vc多做过。现在由于工作需要必须要硬件一起上,这该如何是好啊??…

查看全部问答>

磁盘的一直在转,而且磁道是完全对称的环形,怎么准确寻址扇区呢?

扇区的绝对地址是相对于第0个扇区来说的,可是磁盘的一直在转,而且磁道是完全对称的环形,没有任何一个扇区在物理上是特殊的,系统是怎么寻址磁盘的第0扇区的呢?…

查看全部问答>

请熟悉techwell tw6802/6805的朋友帮忙

我系一在校学生,导师弄了块 techwell tw6802(似乎又象6805)的视频采集卡,让我写个linux驱动。 在官方网站上没有一点与技术相关的资料, 真奇怪。 请有做过这方面的朋友 能否发点 与tw6802/tw6805相关的资料(比如datasheet,代码都可)给 ...…

查看全部问答>

DELPHI-plc通讯

请问那位大侠会DELPHI与plc通讯,开发监控系统。…

查看全部问答>

S3C2440, 休眠时直接跑飞

代码如下,我通过亮灯显示执行情况,发现我执行休眠时,在设置内存自刷新后,就直接跑飞了。不知道为何? ;      7. Go to Power-Off Mode ldr r0, =vMISCCR ; hit the TLB ldr r0, [r0] ldr r0, =vCLKCON ldr r0, [r0] ...…

查看全部问答>

调查,开发WINCE时 用mfc 还是API多 ?

调查,开发WINCE时 用mfc 还是API多 ?…

查看全部问答>

Error[Pe065]: expected a ";"另一个程序就没有这个问题啊

#pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) {     static uchar index = 0;        results[index++] = ADC12MEM1;               // Mo ...…

查看全部问答>