STM32的uart1、uart2、uart3重定向函数(标准库版)

STM32的uart1、uart2、uart3重定向函数

标准库

//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);    
} 

热门文章

暂无图片
编程学习 ·

【Linux基础编程】echo命令

01.文章目录 文章目录01.文章目录02.命令概述03.命令格式04.常用选项05.参考示例5.1 输出字符串5.2 输出变量PATH5.3 转义特殊字符5.4 重定向到文件中5.5 输出命令结果5.6 输出换行符5.7 输出退格符5.8 输出字符串不换行5.9 支持通配符5.10 指定输出颜色5.11 设置背景色5.12 文…
暂无图片
编程学习 ·

vue+element-ui JYAdmin后台管理系统模板-集成方案【项目搭建篇1】

项目搭建时间:2020-06-29 本章节:讲述基于vue/cli, 项目的基础搭建。 本主题讲述了vue+element-ui JYAdmin 后台管理系统模板-集成方案,从零到一的手写搭建全过程。 该项目不仅是一个持续完善、高效简洁的后台管理系统模板,还是一套企业级后台系统开发集成方案,致力…
暂无图片
编程学习 ·

Java中的反射(1)

Java中的反射 一、概念: 1、反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 2、反射 (Reflection) 是 Java 的特…
暂无图片
编程学习 ·

leetcode718. 最长重复子数组/动态规划,滑动窗口

文章目录题目:leetcode718. 最长重复子数组/动态规划基本思想1:动态规划基本思想2:滑动窗口基本思想3:暴力 题目:leetcode718. 最长重复子数组/动态规划 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 示例 1: 输入: A: [1,2,3,2,1] B: [3,2,1…
暂无图片
编程学习 ·

Android 模拟器联网

先配置好adb环境变量,打开模拟器,cmd中输入adb shell 查看是否adb配置完成,exit退出adb模式,adb root将模拟器root,然后adb shell,可以直接setprop net.eth0.dns1 192.168.1.1 后面为自己ip地址
暂无图片
编程学习 ·

Simulink中定义全局向量

Simulink中定义全局数组变量定义全局变量定义其为Data Dtore Memory创建Data Dtore Memory模块完成 最近在使用simulink时需要用到全局向量,但是在网上搜索到的都是一维的全局变量,也就是一个数,因此自己摸索了一段时间做出这篇总结。 定义全局变量 首先在matlab function中…
暂无图片
编程学习 ·

leetcode-123. 买卖股票的最佳时机 III

题目 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4…
暂无图片
编程学习 ·

云原生已来,只是分布不均

作者 | 右京 阿里云交付专家 **导读:**云原生是什么?相信不同的人有不同的认识和解读。本文结合大家的各种讨论及项目实践经验,从交付的角度,分享阿里交付专家对云原生的理解,阐述如何构建云原生应用,云原生有哪些关键技术,以及关于云原生落地的思考。 前言 Internet 改…
暂无图片
编程学习 ·

如何重命名data.frame中的单个列?

本文翻译自:How to rename a single column in a data.frame? I know if I have a data frame with more than 1 column, I can use 我知道如果我有一个多于一列的数据框,我可以使用 colnames(x) <- c("col1","col2")to rename the columns. 重命名…
暂无图片
编程学习 ·

阿里热更新hotfix使用

一、SDK引入项目build中添加buildscript {repositories {google()jcenter()//添加这句maven {url "http://maven.aliyun.com/nexus/content/repositories/releases"}}dependencies {...}}allprojects {repositories {google()jcenter()maven { url "https://jit…
暂无图片
编程学习 ·

通过过滤器Filter解决post/get请求中文编码问题示例代码

##编码过滤器 功能:将客户端发送过来的数据(尤其是中文)都转换成UTF-8,这样后续的处理就不需要做其他额外的编码转换,做到编码前后统一 实现说明: 对于post请求以及响应可以直接调用setCharacterEncoding方法设置编码格式,而对于get请求,由于get请求参数是通过路径传参,而…
暂无图片
编程学习 ·

产品经理新人必看的避坑指南

产品经理的一路走来,会遇到大大小小的“坑”。从毕业开始做产品经理已有7年,一直在回想自己有哪些地方做的不够好需要改进的。趁自己闲暇时间总结分享出来,希望能给产品新人一些启示。 一、不问要求埋头苦干。 产品新人刚入职的时候,因为经验不足,不太熟悉业务,往往一开始…
暂无图片
编程学习 ·

【Linux】——I/O复用之poll

1、poll的概述 在上一篇文章中,我们详细的介绍了I/O复用技术中的select使用。这篇文章我们来主要介绍一下poll. poll系统调用和select类似,也是在指定事件内轮询一定数量的文件描述符,以测试其中是否有就绪的 本质都是统一监听,如果任意一个文件描述符上有关注的事件发生。…
暂无图片
编程学习 ·

SwiftUI 2.0 实现无限滚动的分页列表(高性能含源码)

本文价值与收获 看完本文后,您将能够作出下面的界面实战需求 我们平时构建的应用基本上都是列表类应用,例如待办事项列表、微博、微信朋友圈和视频列表等。这些列表都是可以无限滚动的,那这个功能该如何实现呢。本篇文章将告诉大家个非常简单高效的构建无限滚动List的方法,…
暂无图片
编程学习 ·

Python科学计算系列12—积分变换

1.拉普拉斯变换及逆变换拉普拉斯变换公式拉普拉斯逆变换公式例子:代码如下:from sympy import * from sympy.integrals import laplace_transformt, s, a = symbols(t s a) # 拉普拉斯变换 F1 = laplace_transform(sin(a * t), t, s) F2 = laplace_transform(exp(a * t), t, …
暂无图片
编程学习 ·

UE4学习-添加机关并添加代码控制

文章目录添加机关代码编写给密室添加屋顶打印日志控制系统角色创建一个新游戏模式替换DefaultPawn添加抓取组件获取起点和终点物体拾取,碰撞属性设置今日完整代码 添加机关 首先向场景里面添加一个聚光源添加聚光源以后,可以对其属性进行修改,如图:然后需要给聚光源添加一个…
暂无图片
编程学习 ·

1、线程与进程区别

1、线程与进程区别(1)拥有资源进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。(2) 调度线程是是CPU调度和分派的基本单位;(3) 系统开销进程创建、撤销、上下文切换时的开销要大于线程