4.15 day6 ARM

uart.c

#include "uart4.h"
void uart4_config()
{RCC->MP_AHB4ENSETR |= (0X1 << 6);//GRCC->MP_AHB4ENSETR |= (0X1 << 1);//BRCC->MP_APB1ENSETR |= (0X1 << 16);//UART4
//管脚复用GPIOG->MODER  &= (~(0X3 << 22));GPIOG->MODER |= (0X2 << 22);GPIOB->MODER &= (~(0X3 << 4));GPIOB->MODER |= (0X2 << 4);GPIOG->AFRH &= (~(0XF << 12));//UART4_TXGPIOG->AFRH |= (0X6 << 12);GPIOB->AFRL &= (~(0XF << 8));//UART4_RXGPIOB->AFRL |= (0X8 << 8);//USART设置USART4->CR1 &= (~(0X1));//使能禁用USART4->CR1 &= (~(0X1 << 28));//设置数据位USART4->CR1 &= (~(0X1 << 12));USART4->CR1 &= (~(0x1 << 15));//设置过采样倍数USART4->CR1 &= (~(0x1 << 10));//设置无奇偶校验位USART4->CR1 |= (0X1 << 3);//发送器使能位USART4->CR1 |= (0X1 << 2);//接收器使能位USART4->CR2 &= (~(0X1 << 12));USART4->BRR = (0X22B);USART4->PRESC &= (~(0XF));//设置不分频USART4->CR1 |= (0X1 << 0);//串口工作使能位}void putchar(char dat)
{while (!(USART4->ISR & (0X1 << 7)));USART4->TDR = dat;while (!(USART4->ISR & (0X1 << 6)));}char getchar()
{while (!(USART4->ISR & (0X1 << 5)));return USART4->RDR;}void puts(char *a)
{int i=0;while (a[i] != '\0'){putchar(a[i]);i++;}putchar('\n');putchar('\r');
}char * gets(char *b)
{int i=0;for(;(b[i]=getchar()) != '\r';i++){putchar(b[i]);}putchar('\r');putchar('\n');b[i]='\0';//  for (int i = 0; i < 128; i++)// {//     b[i] = getchar(); // 将接收到的字符放入str中//     putchar(b[i]); // 将接收到的字符串发送回串口调试助手//     if (b[i] == '\r') // 如果接收到了换行符//     {//         putchar('\n'); // 将接收到的字符串发送回串口调试助手//         b[i+1] = '\0';//         break;//     }return b;
}

uart.h

#ifndef  __UART4_H__
#define __UART4_H__
#include  "stm32mp1xx_gpio.h" 
#include  "stm32mp1xx_rcc.h" 
#include  "stm32mp1xx_uart.h" void uart4_config();
void putchar(char dat);
char getchar();
char * gets(char *b);
void puts(char *a);#endif

main.c

#include "uart4.h"int main()
{char dat[128];while(1){gets(dat);puts(dat);}return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令接着学习

which命令&#xff0c;找到各种命令程序所处在的位置 语法&#xff1a;which查找的命令 那么对于我们想查找其他类型文件所在的位置&#xff0c;我们可以用到find命令 find命令 选项为-name&#xff0c;表示按照文件名进行查找 find命令中通配符 find命令和前面rm命令一样&…

MT3023 歌词中找单词

1.暴力 10/12 #include <bits/stdc.h> using namespace std; int n; string a[10005]; int main() {cin >> n;for (int i 0; i < n; i)cin >> a[i];string ll;cin >> ll;for (int i 0; i < n; i){string u a[i];int num 0;int j 0;for (in…

解线性方程组——追赶法解三对角方程组 | 北太天元

一、问题描述 对于线性方程组 A x b , A ( b 1 c 1 a 2 b 2 c 2 ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ a n − 1 b n − 1 c n − 1 a n b n ) , b ( f 1 f 2 ⋮ f n ) Axb,\quad A\begin{pmatrix}b_1&c_1&&&&\\a_2&b_2&c_2&&&\\&\ddots&\d…

CentOS 7安装、卸载MySQL数据库(一)

说明&#xff1a;本文介绍如何在CentOS 7操作系统下使用yum方式安装MySQL数据库&#xff0c;及卸载&#xff1b; 安装 Step1&#xff1a;卸载mariadb 敲下面的命令&#xff0c;查看系统mariadb软件包 rpm -qa|grep mariadb跳出mariadb软件包信息后&#xff0c;敲下面的命令…

mysql基础14——视图

视图 视图是一种虚拟表 可以把一段查询语句作为视图存储在数据库中 需要的时候把视图看作一个表&#xff0c;对里面的数据进行查询 视图并没有真正存储数据 避免了数据存储过程中可能产生的冗余 提高了存储的效率 子查询 嵌套在另一个查询中的查询 派生表 如果在查询中…

六、项目发布 -- 4. 电子书详情页API开发、电子书列表API开发

电子书详情页API的编写 同理如下app.get中路由、回调&#xff1b;回调中要连接数据库、接收前端传过来的值、到数据库中做查询&#xff0c;然后回调&#xff08;如果回调失败返回什么JSON&#xff0c;如果回调成功返回什么JSON&#xff09;&#xff1b;最后千万别忘记了关闭数…

milvus 相似度检索的底层原理

Milvus作为一款专为向量相似度检索设计的开源搜索引擎&#xff0c;其底层原理涉及高效的向量索引结构、并行计算优化、分布式架构设计等多个关键技术点。以下是对Milvus进行相似度检索时底层原理的简要概述&#xff1a; ### 1. **向量索引结构** #### **近似最近邻搜索 (Appr…

解决vue定时器清除无效问题

清除无效原因&#xff1a; 当前页面 (假设当前页面为page1) 的定时器是在一系列前置请求之后&#xff0c;才触发的。【此定时器前面有一堆请求&#xff0c;等这堆请求完成之后&#xff0c;定时器才会被触发】 路由切换过快的时候&#xff0c;切换到了其他页面&#xff08;page2…

怎样快速打造二级分销小程序

乔拓云是一个专门开发小程序模板的平台&#xff0c;致力于帮助商家快速上线自己的小程序。通过套用乔拓云提供的精美模板&#xff0c;商家无需具备专业的技术背景&#xff0c;也能轻松打造出功能齐全、美观大方的小程序。 在乔拓云的官网&#xff0c;商家可以免费注册账号并登录…

全科都收!1区毕业水刊,影响因子狂涨至9.8,无预警记录!国人评价高!

本期&#xff0c;小编给大家解析的是一本创刊于2014年&#xff0c;且于同年被WOS数据库收录的毕业“水刊”——SCIENTIFIC DATA。 截图来源&#xff1a;期刊官网 SCIENTIFIC DATA&#xff08;ISSN&#xff1a;2052-4463&#xff09;是一本致力于数据的开放获取期刊&#xff0c…

用户态和内核态的区别

2. 用户态和内核态 2.1 用户态和内核态的区别 用户态&#xff08;User Mode&#xff09;和内核态&#xff08;Kernel Mode&#xff09;是操作系统为了保护系统资源和实现权限控制而设计的两种不同的CPU运行级别&#xff0c;可以控制进程或程序对计算机资源的访问权限和操作范…

可视化大屏在政务领域应用非常普遍,带你看看

可视化大屏在政务领域的应用非常普遍&#xff0c;政务领域需要处理大量的数据和信息&#xff0c;通过可视化大屏可以将这些数据以直观、易懂的方式展示出来&#xff0c;帮助政府决策者和工作人员更好地了解和分析数据&#xff0c;从而做出更准确、科学的决策。 在政务领域&…

xhEditor实现WORD粘贴图片自动上传

1.下载示例&#xff1a; 从官网下载 http://www.ncmem.com/webapp/wordpaster/versions.aspx 从gitee中下载 https://gitee.com/xproer/wordpaster-php-xheditor1x 2.将插件目录复制到项目中 3.引入插件文件 定义插件图标 初始化插件&#xff0c;在工具栏中添加插件按钮 效果…

B端界面:除了蓝色外,四条搞定清新明快的界面设计。

一、什么是清新明快风格 清新明快的设计风格是指在B端系统中使用明亮、清淡的色彩、简洁的布局和自然元素&#xff0c;以及轻快的动效&#xff0c;营造出轻松、愉悦的界面氛围。 二、哪些行业适用 这种设计风格适用于多个行业&#xff0c;特别是那些与创意、娱乐、健康、旅游…

安卓原生项目工程结构说明

.gradle 和 .idea (自动生成) .gradle 是gradle下载好的缓存&#xff0c;如果有配置好的 下载好的缓存 直接会拿来用 没有会下载 生成 .idea 是编辑器的配置 app 代码主逻辑 目录 项目中的代码 资源都会在里面 工作的时候的核心目录 gradle 下载安卓的构建器gradle相关的配置信…

V23092-A1024-A301 工业继电器 24V 6A 一组转换

V23092-A1024-A301是一款通用继电器。参数为24V 6A 该继电器适用于控制各种电气负载&#xff0c;如电机、加热器或其他高电流设备。广泛应用于各种工业控制和自动化系统中&#xff0c;它的封装尺寸和引脚排列符合标准的工业规范&#xff0c;便于安装和使用。 产品种类: 通用…

C语言——贪吃蛇游戏的实现

一. 贪吃蛇的介绍 我们都有玩过一个小游戏——贪吃蛇&#xff0c;贪吃蛇也是一个经典游戏。如上图所示&#xff0c;游戏玩法就是操控一个蛇&#xff0c;让它吃掉食物&#xff0c;每吃掉一个食物就会增加自己身体一格长度&#xff0c;并且保证自己不能撞到墙和自己本身&#xff…

界面组件库DevExpress Office File API(WinForms WPF)v24.1新功能预览

本文描述了界面组件库DevExpress的Office File API&#xff08;WinForms & WPF&#xff09;和受Office启发的控件在v24.1中发布的一些功能&#xff0c;并详细介绍了我们当前的抢先体验预览版本v24.1中的内容。 DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满…

Ubuntu系统安装Anaconda

1. 下载Anconda安装包 1.1 wget命令下载 当然还可以去清华大学开源软件镜像站&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror&#xff0c;下载各种版本的Anaconda。 wget下载命令如下&#xff1a; 我这里下载的是2024.02…

PHP中有哪些数据类型?请举例说明

PHP中有哪些数据类型&#xff1f;请举例说明 在PHP中&#xff0c;数据类型是编程的基础&#xff0c;它们决定了变量可以存储什么样的数据以及可以对这些数据执行哪些操作。PHP是一种弱类型语言&#xff0c;这意味着在声明变量时不需要显式指定其数据类型&#xff0c;PHP解释器…