UART学习
uart.c
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_uart.h"
// UART4_TX : PG11 AF6
// UART4_RX : PB2 AF8
void __uart_init()
{// GPIOB2 设置为复用功能GPIOB->MODER &= (~(0x3 << 4));GPIOB->MODER |= (0x2 << 4);GPIOB->AFRL &= (~(0xF << 8));GPIOB->AFRL |= (0x8 << 8);// GPIOG11 设置为复用功能 GPIOG->MODER &= (~(0x3 << 22));GPIOG->MODER |= (0x2 << 4);GPIOG->AFRH &= (~(0xF << 12));GPIOG->AFRH |= (0x6 << 12);// 设置数据长度为8位 USART_CR1 USART4->CR1 &= (~(0x1 << 28));USART4->CR1 &= (~(0x1 << 12));// 采样率为16位 USART4->CR1 &= (~(0x1 << 15));// 设置波特率为115200bps USART4->PRESC &= (~(0xF << 0));USART4->BRR = 0xD0;// 停止位1位USART4->CR2 &= (~(0x3 << 12));// 使能USART串口 USART4->CR1 |= (0x1 << 0);// 使能USART的发送或者接收功能 USART4->CR1 |= (0x1 << 3);USART4->CR1 |= (0x1 << 2);}void __uart_putc(const char data)
{while (!(USART4->ISR & (0x1 << 7)));USART4->TDR = data;if (data == '\n')__uart_putc('\r');
}
void __uart_puts(const char *pstr)
{while(*pstr != '\0')__uart_putc(*pstr++);
}char __uart_getc(void)
{char ch;while(!(USART4->ISR & (0x1 << 5)));ch = (char)USART4->RDR;return ch;
}
uart.h
#ifndef __UART_H__
#define __UART_H__void __uart_init();void __uart_putc(const char data);void __uart_puts(const char *pstr);char __uart_getc(void);#endif
mian,c
main()
{//1.串口的初始化__uart_init();char r,t;while(1){//2.接收一个字节数据r = __uart_getc();printf("%c\n",r);//3/发送一个字节数据printf("请输入:\n");scanf("%c",&t);__uart_putc(t);}
}
相关文章:
UART学习
uart.c #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h" // UART4_TX : PG11 AF6 // UART4_RX : PB2 AF8 void __uart_init() {// GPIOB2 设置为复用功能GPIOB->MODER & (~(0x3 << 4));GPIOB->MODER | (0x2 << 4);G…...
洗地机哪个牌子最好用?洗地机品牌排行榜
近年来,洗地机相当热门,洗地机结合了扫地拖地吸地为一体的多功能清洁工具,让我们告别了传统方式打扫卫生,让我们清洁不再费劲,可是市面上的洗地机五花八门,怎么挑选到一个洗地机也是一个问题,下…...
国际阿里云:Windows实例中数据恢复教程!!!
在处理磁盘相关问题时,您可能会碰到操作系统中数据盘分区丢失的情况。本文介绍了Windows系统下常见的数据盘分区丢失的问题以及对应的处理方法,同时提供了使用云盘的常见误区以及最佳实践,避免可能的数据丢失风险。 前提条件 已注册阿里云账…...
浅谈二叉树
✏️✏️✏️今天给大家分享一下二叉树的基本概念以及性质、二叉树的自定义实现,二叉树的遍历等。 清风的CSDN博客 😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流&…...
(二) 用QWebSocket 实现服务端和客户端(详细代码直接使用)
目录 前言 一、服务器的代码: 1、服务器的思路 2、具体服务器的代码示例 二、客户端的代码: 1、客户端的思路(和服务器类似) 2、具体客户端的代码示例 前言 要是想了解QWebSocket的详细知识,还得移步到上一篇文…...
关于我在配置zookeeper出现,启动成功,进程存在,但是查看状态却没有出现Mode:xxxxx的问题和我的解决方案
在我输入:zkServer.sh status 之后出现报错码. 报错码: ZooKeeper JMX enabled by default Using config: /opt/software/zookeeper/bin/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Error contacting service. It is probably not runni…...
react及相关面试问题汇总
目录 1、什么是React?它的特点是什么? 2、解释一下虚拟DOM(Virtual DOM)的概念以及它的工作原理。 3、什么是组件(Component)?如何定义一个React组件? 4、什么是JSX?它与HTML的区别是什么?如何在React中…...
QT4到QT5移植出现的一些问题
转自:QT4到QT5移植出现的一些问题_西门子3gl qt5 许可证-CSDN博客 在上述作者基础上修改: 一、问题1:头文件的问题 1、QtGui/QApplication: No such file or directory 1.1错因 原因是Qt5源文件位置的改动 1.2解决 pro文件里࿰…...
【可解释AI】Alibi explain: 解释机器学习模型的算法
Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain,一个开源Python库,用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…...
No191.精选前端面试题,享受每天的挑战和学习
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...
ROS基础—vscode创建工作空间
1、创建ROS工作空间 首先打开ubuntu的终端,接着依次输入如下的命令行; mkdir -p xxx_ws/src(必须得有 src) cd xxx_ws catkin_make当然我一般是新建一个叫做demo的工作空间,如 mkdir -p demo04_ws/src 2、启动vscode cd xxx_ws code . …...
机器学习复习(待更新)
01绪论 (1)机器学习基本分类: 监督学习(有标签)半监督学习(部分标签,找数据结构)无监督学习(无标签,找数据结构)强化学习(不断交互&…...
taro(踩坑) npm run dev:weapp 微信小程序开发者工具预览报错
控制台报错信息: VM72:9 app.js错误: Error: module vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js is not defined, require args is ./vendors-node_modules_taro_weapp_prebundle_chunk-JUEIR267_js.js 环境: node 版本&#x…...
3. 深度学习——损失函数
机器学习面试题汇总与解析——损失函数 本章讲解知识点 什么是损失函数?为什么要使用损失函数?详细讲解损失函数本专栏适合于Python已经入门的学生或人士,有一定的编程基础。 本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。 本专栏针对面试题答案进行了优化…...
交叉编译 openssl
要在 x86 平台上编译适用于 aarch64 架构的 OpenSSL 动态库,你需要使用交叉编译工具链。可以按照以下步骤进行: 安装 aarch64 交叉编译工具链: $ sudo apt-get install gcc-aarch64-linux-gnu g-aarch64-linux-gnu 这将安装 aarch64 交叉编…...
C++文件的读取和写入
1、C对txt文件的读,ios::in #include<iostream> #include<fstream> using namespace std;int main() {ifstream ifs;ifs.open("test.txt",ios::in);if(!ifs.is_open()){cout<<"打开文件失败!"<<endl;}char…...
住宅IP、家庭宽带IP以及原生IP,它们有什么区别?谷歌开发者账号应选择哪种IP?
IP地址(Internet Protocol Address)是互联网协议地址的简称,是互联网通信的基础,互联网上每一个网络设备的唯一标识符每个在线的设备都需要一个IP地址,这样才能在网络中找到它们并进行数据交换。 IP地址有很多种类型&…...
Linux内核分析(十三)--内存管理之I/O交换与性能调优
目录 一、引言 二、page cache ------>2.1、file-backed ------>2.2、匿名页(Anonymous page) ------>2.3、读写方式 ------>2.4、常驻内存 三、页面回收 ------>3.1、LRU算法 ------>3.2、嵌入式系统的zRAM 四、内存性能调优 ------>4.1、存储…...
前端使用webscoket
前端 <template><div class"wrap"><button click"socketEmit">连接Socket</button><button click"socketSendmsg">发送数据</button></div> </template><script> export default {data(…...
centos安装Git
一开始使用yum -y install git出来的版本比较低。 1.yum安装gityum -y install git 2.查看git的版本git --version 3.删除git(版本过低)yum remove -y git 后来通过源码编译后安装: 使用安装包安装: 1.下载安装包:h…...
实战应用:基于快马构建高保真抖音模块,为技术方案选型与竞品分析提供实例
最近在研究抖音最新版本的技术实现方案,发现用InsCode(快马)平台可以快速搭建一个高保真的功能模拟应用。这个实战项目不仅能帮助理解抖音的核心模块设计,还能为技术选型提供直观参考。下面分享下我的实现思路和关键要点: 智能推荐流实现 通过…...
Palworld存档工具终极指南:掌握游戏数据编辑的专业方法
Palworld存档工具终极指南:掌握游戏数据编辑的专业方法 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾想过深入Palworld游戏…...
构建包容性界面:Vant Weapp无障碍设计全流程解析
构建包容性界面:Vant Weapp无障碍设计全流程解析 【免费下载链接】vant-weapp 轻量、可靠的小程序 UI 组件库 项目地址: https://gitcode.com/gh_mirrors/va/vant-weapp 一、设计理念:无障碍设计的核心价值 无障碍设计不是可选功能,而…...
新手福音:零基础在快马平台创建你的第一个口播智能体
今天想和大家分享一个特别适合编程新手的实战项目——在InsCode(快马)平台上创建一个旗博士口播智能体。这个项目不需要任何后端知识,用最基础的HTML和JavaScript就能实现,而且能让你直观感受到AI应用的开发流程。 项目整体思路 这个口播智能体的核心功能…...
用AI建站工具必看:这10个避坑问答帮你躲过90%的麻烦
用AI建站工具确实省事,但很多人在使用过程中踩进各种坑:生成的网站跟自己想的不一样、上线后搜不到、想改点东西发现被限制、甚至最后数据都导不出来。这些问题其实都可以提前规避。我们整理了用户最关心的10个核心问题,给出客观解答和避坑方…...
3个鲜为人知的smcFanControl使用技巧:让你的Mac冷静运行的开源方案
3个鲜为人知的smcFanControl使用技巧:让你的Mac冷静运行的开源方案 【免费下载链接】smcFanControl Control the fans of every Intel Mac to make it run cooler 项目地址: https://gitcode.com/gh_mirrors/smc/smcFanControl 当你在夏天使用MacBook处理大型…...
Cursor Pro免费激活终极指南:突破AI编程助手限制的完整技术方案
Cursor Pro免费激活终极指南:突破AI编程助手限制的完整技术方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached…...
FunASR实战:从零部署高并发实时会议语音转写与分析系统
1. 为什么企业会议需要智能语音转写系统 想象一下这样的场景:公司每周的跨部门会议持续两小时,8个参会人员轮流发言讨论季度目标。传统人工记录要么遗漏关键信息,要么会后需要3小时整理录音——而使用FunASR构建的系统能在会议结束瞬间生成带…...
Win11轻量优化指南:自定义调校让系统流畅如初
Win11轻量优化指南:自定义调校让系统流畅如初 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customize …...
NVIDIA Profile Inspector终极指南:解锁显卡隐藏性能的完整方案
NVIDIA Profile Inspector终极指南:解锁显卡隐藏性能的完整方案 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款能够深度访问和修改NVIDIA显卡驱动配置的专业…...
