arm_uart4实验

#include "uart4.h"                       //UART                                   //初始化                                 
void hal_uart4_init()                    
{                                        //rcc_init                           //使能GPIOB组控制器[1]=1         RCC->MP_AHB4ENSETR |= (0x1 << 1);//使能GPIOG组控制器[6]=1         RCC->MP_AHB4ENSETR |= (0x1 << 6);//使能uart组控制器[16]=1  RCC->MP_APB1ENSETR |=(0x1 << 16);       //gpio_init  GPIOB->MODER &= (~(0x3 << 4));GPIOB->MODER |= (0x1 << 5);GPIOG->MODER &= (~(0x3 << 22));GPIOG->MODER |= (0x1 << 23);GPIOB->AFRL &= (~(0xf << 8));GPIOB->AFRL |= (0x1 << 11);GPIOG->AFRH &= (~(0xf << 12));GPIOG->AFRH |= (0x3 << 13);//uart_initif(USART4->CR1 & 0x1){USART4->CR1 &= (~(0x1 << 0));}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->CR1 |= 0x1;USART4->CR2 &=(~(0x1 << 12));USART4->PRESC &= (~(0xf<<0));  USART4->BRR=0x22b;                    
}                                        
//发送一个字符                           
void hal_put_char(const char str)        
{                                        while (!(USART4->ISR &(1<<7)));USART4->TDR=str;if(str=='\n'){hal_put_char('\r');}}                                        
//接受一个字符                           
char hal_get_char()                      
{                                        char data;while(!(USART4->ISR &(1<<5)));data=(char)USART4->RDR;return data;}                                        
//发送一个字符串                         void hal_put_string(const char* string)  
{                                        while(*string !='\0'){hal_put_string(*string);string++;}}                                        
//接一个字符串                         
char* hal_get_string()                   
{                                        int i=0;char buff[50];for(;i<49;i++){buff[i]=hal_get_char();hal_put_char(buff[i]);if (buff[i] == '\r'){break;}}buff[i]='\0';hal_put_char('\n');return buff;}                                        
#include "uart4.h"int main()
{hal_uart4_init();//hal_put_string("uart4 test");while(1){hal_put_char(hal_get_char()+1);//hal_put_string(hal_get_string());}
}
#ifndef __UART_H__
#define __UART_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_uart.h"
void hal_uart4_init();void hal_put_char(const char str);char hal_get_char();void hal_put_string(const char* string);
char* hal_get_string();
#endif

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

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

相关文章

前端Debugger时复制的JS对象字符转JSON对象

前端debugger时&#xff0c;复制的对象在控制台输出时是如下格式&#xff0c;需要转换为对象格式来进行验证操作 bridgeId : 4118 createBy : null createTime : "2023-03-24 10:35:26" createUserId : 1 具体实现代码&#xff1a; // 转换transform (text) {l…

Java面向对象练习(4.文字格斗游戏)(2024.7.4)

角色类 package FightGame20240704; import java.util.Random; public class GameRole {Random r new Random();private String name;private int blood;private char gender;private String face;public GameRole(){}public GameRole(String name, int blood, char gender){…

openlayers中区域掩膜的实现

概述 在前文完成了mapboxGL中区域掩膜的实现。近日有人问到说在openlayers中如何实现&#xff0c;本文就带大家看看如何在openlayers中实现区域掩膜。 实现效果 实现 1. 实现思路 在地图容器中添加一个canvas&#xff0c;设置其在map之上&#xff1b;监听map的postrender事…

文华财经T9多空波段趋势量化交易策略模型源码

// 定义变量 Vars Numeric STEP1,MVALUE1,SARVAL,C; Numeric SARLINE,COND,ZBMA1,ZBMA2; Begin CCLOSE; STEP13/11; MVALUE120/22; SARVALSAR(4, STEP1, MVALUE1); PlotLine("",IIF(SARVAL>0,SARVAL,InvalidNumeric),RED,Circledot); PlotLine("&q…

AI大模型开发入门:OpenAI API的Hello World

AI大模型时代下&#xff0c;我们也要学点大模型知识了。 前面我们简单实现了将GPT接入微信公众号&#xff1a; [【超详细&#xff01;】Python微信公众号开发&#xff08;4&#xff09;- 手把手教你接入GPT]&#xff0c;算是已经用过一点AI的知识了&#xff0c;浅尝辄止。 这还…

[吃瓜教程]南瓜书第5章神经网络

1.M-P神经元 M-P神经元&#xff0c;全称为McCulloch-Pitts神经元&#xff0c;是一种数学模型&#xff0c;用于模拟生物神经元的功能。这个模型是由Warren McCulloch和Walter Pitts在1943年提出的。它是人工智能和计算神经科学领域中非常重要的早期模型。 M-P神经元接收n个输入…

[数据集][目标检测]轮椅检测数据集VOC+YOLO格式13826张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;13826 标注数量(xml文件个数)&#xff1a;13826 标注数量(txt文件个数)&#xff1a;13826 标…

java如何把list转换成map

不废话&#xff0c;直接上代码 public static void main(String[] args) {List<UserxVO> list new ArrayList<>();for (int i 0; i < 10; i) {list.add(new UserxVO("n" i, "dd" i));}Map<String, String> map list.stream().co…

类和对象-友元-成员函数做友元

成员函数做友元 #include<iostream> #include<string> using namespace std;class Building;class GoodGay { public:GoodGay();void visit(); //让visit函数可以访问Building中私有成员void visit2(); //让visit函数不可以访问Building中私有成员Building* buil…

充分发挥董事会作用,让决议落地见效

督查督办是贯彻会议决议部署、推动决策实施、促进工作落实的重要途径之一。董事会决议落实工作可以分为日常决议落实和董事会会议决策落实跟进&#xff0c;董事会的决议落实有利于加强董事会的监督作用&#xff0c;让决议战略落地生效&#xff0c;这对增强公司管理治理水平有着…

Python学习笔记28:进阶篇(十七)常见标准库使用之质量控制中的代码质量与风格第二部分

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 教程链接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…

【浦语大模型开源探索】InternLM实战营第二期:技术笔记与全链路解析

本次课程链接在GitHub上&#xff1a; InternLM/Tutorial at camp2 (github.com) 第一次课程录播链接&#xff1a; 书生浦语大模型全链路开源体系_哔哩哔哩_bilibili InternLM2技术报告&#xff1a; arxiv.org/pdf/2403.17297.pdf 一、书生浦语大模型全链路开源体系笔记 Int…

TCP连接,如果server端所在机器突然掉电,client是如何以及多久感知tcp连接断开

TCP连接&#xff0c;如果server端所在机器突然掉电&#xff0c;client是如何以及多久感知tcp连接断开 文章目录 TCP连接&#xff0c;如果server端所在机器突然掉电&#xff0c;client是如何以及多久感知tcp连接断开1. 场景&#xff1a;1.1 client没有发数据给server场景1.1.1 T…

如何利用TikTok的个性化趋势提升独立站的市场竞争力?

在当今数字化时代&#xff0c;TikTok平台以其独特的算法和广泛的用户基础&#xff0c;正逐步成为独立站个性化营销的新宠。本文Nox聚星将和大家分析TikTok平台上的个性化内容趋势对消费者行为的影响&#xff0c;以及如何选择、培养TikTok达人。 一、TikTok平台上的个性化内容趋…

Maven 构建过程

Maven 配置总结 生动概括 想象你正在建造一座房子。Maven 就像你的项目经理&#xff0c;它帮你安排好所有的材料、工人和施工计划。你只需要告诉它房子的设计图&#xff08;POM 文件&#xff09;&#xff0c;它就会自动为你准备好所有的建材&#xff08;依赖&#xff09;&…

太速科技-FMC209-基于FMC的4路125MAD输入、2路1GDA输出子卡

FMC209-基于FMC的4路125MAD输入、2路1GDA输出子卡 一、板卡概述 本子卡基于FMC连接器实现4路125M采样率AD输出&#xff0c;两路1G采样率DA输出子卡&#xff0c;板卡默认由FMC连接器12V供电&#xff0c;支持外参考时钟&#xff0c;外输入时钟&#xff0c;外触发。 …

相机光学(二十五)——数字相机和模拟相机

数字摄像机是指摄像机的图像处理及信号的记录全部使用数字信号完成的摄像机。此种摄像机的最大的特征是磁带上记录的信号为数字信号&#xff0c;而非模拟信号。数字摄像机摄取的图像信号经CCD转化为电信号后&#xff0c;马上经电路进行数字化&#xff0c;以后在记录到磁带之前的…

交互未来入选“北京市通用人工智能产业创新伙伴计划”模型伙伴

在“开启数智新时代&#xff0c;共享数字新未来”的宏大主题下&#xff0c;2024全球数字经济大会于近日盛大开幕&#xff0c;汇聚全球智慧&#xff0c;共谋数字经济新篇章。大会首日&#xff0c;备受瞩目的人工智能专题论坛率先拉开帷幕&#xff0c;以“应用即未来——大模型赋…

视频太大发不出去怎么处理,视频太大发不了邮件怎么办

在数字化时代&#xff0c;视频已成为我们分享生活、传递信息的重要方式。然而&#xff0c;当遇到视频文件过大&#xff0c;无法发送或分享时&#xff0c;你是否感到困扰&#xff1f;别担心&#xff0c;本文将为你揭秘轻松解决视频太大发不了的问题。 电脑频编辑器可以用于简单的…

图书借阅小程序论文(设计)开题报告

一、课题的背景和意义 近些年来&#xff0c;随着移动互联网巅峰时期的来临&#xff0c;互联网产业逐渐趋于“小、轻、微”的方向发展&#xff0c;符合轻应用时代特点的各类技术受到了不同领域的广泛关注。在诸多产品中&#xff0c;被誉为“运行着程序的网站”之名的微信小程序…