当前位置: 首页 > news >正文

青岛手机网站建设公司宁波网络推广方法

青岛手机网站建设公司,宁波网络推广方法,有网打不开网页咋回事,网络营销方案步骤作业:完成cortex-A7核UART总线实验 目的:1.输入a,显示b,将输入的字符的ASCII码下一位字符输出 2.原样输出输入的字符串 源码: uart4.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_rcc.h" #incl…

作业:完成cortex-A7核UART总线实验

目的:1.输入'a',显示'b',将输入的字符的ASCII码下一位字符输出
           2.原样输出输入的字符串

源码:

uart4.h 

#ifndef __UART4_H__
#define __UART4_H__#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_uart.h"//RCC/GPIO/UART4章节初始化
void hal_uart4_init();//发送一个字符函数
void hal_put_char(const char str);//发送一个字符串函数
void hal_put_string(const char* string);//接收一个字符函数
char hal_get_char();//接收一个字符串函数
char *hal_get_string();#endif

uart4.c

#include "uart4.h"//RCC/GPIO/UART4章节初始化
void hal_uart4_init(){//RCC章节初始化//1.使能GPIOB组控制器RCC->MP_AHB4ENSETR |= (0X1 << 1);//2.使能GPIOG组控制器RCC->MP_AHB4ENSETR |= (0x1 << 6);//3.使能UART4组控制器RCC->MP_APB1ENSETR |= (0x1 << 16);//GPIO章节初始化//1.设置PB2引脚为复用功能GPIOB->MODER &= (~(0X3 << 4));GPIOB->MODER |= (0x1 << 5);//2.设置PB2引脚复用功能为UART4_RX AFRL[11:8] = 1000GPIOB->AFRL &= (~(0xf << 8));GPIOB->AFRL |= (0x1 << 11);//1.设置PG11引脚为复用功能 MODER[23:22] = 10GPIOG->MODER &= (~(0X3 << 22));GPIOG->MODER |= (0x1 << 23);//2.设置PG11引脚复用功能为UART4_TX AFRH[15:12] = 0110GPIOG->AFRH &= (~(0xf <<12));GPIOG->AFRH |= (0X3 << 13);//UART4章节初始化//8N1 115200 使能//0.设置UE=0USART4->CR1 &= (~0X1);//1.设置UART4串口1位起始位,8位数据位 CR1[28][12] = 00USART4->CR1 &= (~(0X1 << 12));USART4->CR1 &= (~(0X1 << 28));//2.设置UART4串口没有校验位 CR1[10] = 0USART4->CR1 &= (~(0X1 << 10));//3.设置UART4串口1位停止位 CR2[13:12] = 00USART4->CR2 &= (~(0X3 << 12));//4.设置UART4串口16倍采样率 CR1[15] = 0USART4->CR1 &= (~(0x1 << 15));//5.设置UART4串口不分频 PRESC[3:0] = 0000USART4->PRESC &= (~0xf);//6.设置UART4串口波特率为 115200 BRR = 0x22B//BRR = 64000000 / 115200USART4->BRR = 0x22B;//7.设置UART4串口发送器使能 CR1[3] = 1USART4->CR1 |= (0x1 << 3);//8.设置UART4串口接收器使能 CR1[2] = 1USART4->CR1 |= (0X1 << 2);//9.设置UART4串口使能 CR1[0] = 1 UE=1USART4->CR1 |= 0X1;
}//接收一个字符函数
char hal_get_char(){//判断接收数据寄存器中,是否接收到数据while(!(USART4->ISR & (0X1 << 5)));//将接收数据寄存器中的内容读出来char ch = USART4->RDR;return ch;
}char buf[128] = "";
//接收一个字符串函数
char *hal_get_string(){//循环//enter = 'r'int i = 0;for(i = 0; i < 128; i++){buf[i] = hal_get_char();hal_put_char(buf[i]);if(buf[i] == '\r'){break;}}buf[i] = '\0';hal_put_char('\n');return buf;
}//发送一个字符函数
void hal_put_char(const char str){//1.判断发送数据寄存器是否为空 ISR[7]//读0:发送数据寄存器满,需要等待//读1:发送数据寄存器为空,可以发送数据while(!(USART4->ISR & (0x1 << 7)));//2.将要发送的数据,赋值给发送数据寄存器中USART4->TDR = str;//判断一帧数据是否发送完成while(!(USART4->ISR & (0x1 << 6)));
}//发送一个字符串函数
void hal_put_string(const char *string){//判断是否为'\0'//一个一个字符进行发送就可以while(*string){hal_put_char(*string++);}
}

main.c

#include "uart4.h"extern void printf(const char *fmt, ...);
void delay_ms(int ms)
{int i,j;for(i = 0; i < ms;i++)for (j = 0; j < 1800; j++);
}int main()
{while(1){//hal_put_char(hal_get_char() + 1);  //输出字符的ASCII码后一个字符hal_put_string(hal_get_string());     //输出原样字符串}return 0;
}

结果1:

结果2: 

http://www.sczhlp.com/news/36799/

相关文章:

  • 5分钟搞定国际卡APN,畅游全球网络无阻
  • 独立开发在线客服系统 5 年,终于稳如老狗了:记录我踩过的坑(一)
  • PGCA证书怎么查?PGCA证书官网查询方法
  • 奇葩的题目的奇葩题解-colopl2018_final_b
  • 如何在Codeforces上看别人的题解或代码
  • 网站搭建逻辑结构图网页版百度云
  • 综合性b2b电子商务平台有哪些上海网站seo快速排名
  • 网站内容维护外包协议搜索引擎的三个技巧
  • 做网站接私活价格怎么算百度一下网页首页
  • 互联网公司排名2018seo培训一对一
  • 如何给自己网站做反链自有品牌如何推广
  • 粘土做龙网站视频互联网营销策略有哪些
  • destoon做众筹网站网络营销方式有哪几种
  • 干员技能完美还原!《植物大战僵尸三角洲版》新手攻略速看
  • 在线旅游及旅行管理系统项目SQL注入
  • 网站开发逻辑图深圳招聘网络推广
  • 简单、快速申请免费HTTPS SSL 证书 包含泛域名证书
  • ARC100E Or Plus Max 题解
  • java源码网站佛山百度推广电话
  • 社交网站解决方案班级优化大师官网下载
  • 微信订阅号网站开发网页设计流程步骤
  • 怎样查看网站是用什么cms 做的哈尔滨最新消息
  • 美工做的好的网站seo实战密码电子书
  • 关于《撒野》by 巫哲 原文中 令人惊艳的句子
  • 限制问题
  • Minimax是AI博弈的基础算法
  • 室内设计工作室做好的网站怎么优化
  • 网站如何进行网络推广百度新闻网站
  • 网站模板中文乱码淘宝关键词搜索量查询
  • 廊坊做企业网站公司西安seo盐城