历史上的今天
今天是: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");
}
史海拾趣
|
在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   ...… 查看全部问答> |
|
Windowd CE 讨论群 8260484 欢迎广大爱好者++ Windows CE 2.0及其以上版本包括对打印机的支持。Windows CE操作系统使用的打印模型是为基于Windows CE的桌面平台定义的打印模型的子集。只有少量为打印机驱动程序定义的图形驱动程序函数是Windows CE ...… 查看全部问答> |
|
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… 查看全部问答> |




