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

做网站带来好处百度搜索排名优化哪家好

做网站带来好处,百度搜索排名优化哪家好,在网站上做外贸,wordpress 计数器STM32外设编程是嵌入式系统开发中的重要组成部分。以下是对STM32中GPIO(通用输入输出)、UART(通用异步接收传输器)、SPI(串行外设接口)和I2C(互连集成电路)等常见外设的编程指南&…

STM32外设编程是嵌入式系统开发中的重要组成部分。以下是对STM32中GPIO(通用输入输出)、UART(通用异步接收传输器)、SPI(串行外设接口)和I2C(互连集成电路)等常见外设的编程指南,以及相应的示例代码。

GPIO编程

GPIO是STM32中最基本的外设之一,用于控制和读取数字信号。

  1. 初始化GPIO:配置GPIO引脚的模式(如输入、输出、上拉/下拉等)、速度(如2MHz、25MHz等)和输出类型(如推挽、开漏等)。

  2. 读取和写入GPIO:使用输入/输出操作函数读取或设置GPIO引脚的状态。

示例代码

GPIO_InitTypeDef GPIO_InitStructure;
// 使能GPIOA的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// 配置GPIOA的第5位为推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);// 点亮LED
GPIO_SetBits(GPIOA, GPIO_Pin_5);
// 熄灭LED
GPIO_ResetBits(GPIOA, GPIO_Pin_5);

UART编程

UART用于实现微控制器与其他设备的串行通信。

  1. 初始化UART:配置波特率、字长、停止位和校验位。

  2. 发送和接收数据:使用UART发送和接收函数进行数据通信。

示例代码

UART_InitTypeDef UART_InitStructure;
// 使能USART1的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
// 配置USART1为115200波特率,8-N-1
UART_InitStructure.UART_BaudRate = 115200;
UART_InitStructure.UART_WordLength = UART_WordLength_8b;
UART_InitStructure.UART_StopBits = UART_StopBits_1;
UART_InitStructure.UART_Parity = UART_Parity_No;
UART_Init(USART1, &UART_InitStructure);
UART_Cmd(USART1, ENABLE);// 发送字符
USART_SendData(USART1, 'H');
// 接收字符
while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
char c = USART_ReceiveData(USART1);

SPI编程

SPI是一种高速串行通信协议,用于微控制器与外部设备之间的短距离通信。

  1. 初始化SPI:配置SPI的时钟极性、时钟相位、数据位宽度、主/从模式等。

  2. 传输数据:使用SPI发送和接收函数进行全双工通信。

示例代码

SPI_InitTypeDef SPI_InitStructure;
// 使能SPI1的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
// 配置SPI1为主模式,8位数据位,波特率最大
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_Init(SPI1, &SPI_InitStructure);
SPI_Cmd(SPI1, ENABLE);// 发送数据
SPI_I2S_SendData(SPI1, 0x55);
// 接收数据
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET);
uint8_t received = SPI_I2S_ReceiveData(SPI1);

I2C编程

I2C是一种用于附着于微控制器和集成电路的串行计算机总线。

  1. 初始化I2C:配置I2C的通信速率(如100kHz、400kHz等)、地址模式等。

  2. 传输数据:使用I2C发送和接收函数进行数据通信。

示例代码

I2C_InitTypeDef I2C_InitStructure;
// 使能I2C1的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
// 配置I2C1为100kHz
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
I2C_InitStructure.I2C_OwnAddress1 = 0x33;
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
I2C_InitStructure.I2C_ClockSpeed = 100000;
I2C_Init(I2C1, &I2C_InitStructure);
I2C_Cmd(I2C1, ENABLE);// 向设备地址为0x55的I2C设备发送一个字节
I2C_SendData(I2C1, 0x55, 0xAA, I2C_AutoEnd_Mode, I2C_No_StartStop);
// 从同一设备接收一个字节
while (I2C_GetFlagStatus(I2C1, I2C_FLAG_TXE) == RESET);
I2C_GenerateSTART(I2C1, ENABLE);
while (I2C_GetFlagStatus(I2C1, I2C_FLAG_RXNE) == RESET);
uint8_t received = I2C_ReceiveData(I2C1);
I2C_GenerateSTOP(I2C1, ENABLE);

结语

STM32的外设编程是嵌入式系统开发的核心部分,涉及对GPIO、UART、SPI和I2C等外设的配置和使用。通过理解每种外设的工作原理和编程步骤,开发者可以根据项目需求灵活地实现各种功能。示例代码提供了基本的编程框架,实际应用中可能需要根据具体的硬件连接和功能需求进行调整。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料


文章转载自:
http://nervate.c7513.cn
http://kjv.c7513.cn
http://sciagraph.c7513.cn
http://scabrous.c7513.cn
http://subvention.c7513.cn
http://cycas.c7513.cn
http://against.c7513.cn
http://scallion.c7513.cn
http://casquette.c7513.cn
http://tyburn.c7513.cn
http://agaricaceous.c7513.cn
http://incipiency.c7513.cn
http://takeoff.c7513.cn
http://artillery.c7513.cn
http://lychee.c7513.cn
http://bypass.c7513.cn
http://batrachoid.c7513.cn
http://nabobery.c7513.cn
http://ostensive.c7513.cn
http://suchou.c7513.cn
http://encystation.c7513.cn
http://briskness.c7513.cn
http://concavity.c7513.cn
http://oestrus.c7513.cn
http://lemme.c7513.cn
http://lexeme.c7513.cn
http://hallucinate.c7513.cn
http://metascience.c7513.cn
http://popshop.c7513.cn
http://rumbullion.c7513.cn
http://squeteague.c7513.cn
http://cumulostratus.c7513.cn
http://credibility.c7513.cn
http://villanage.c7513.cn
http://clemmie.c7513.cn
http://continentalist.c7513.cn
http://estimative.c7513.cn
http://deliquesce.c7513.cn
http://disciform.c7513.cn
http://leant.c7513.cn
http://dogmatics.c7513.cn
http://bicone.c7513.cn
http://trypsinogen.c7513.cn
http://mediatress.c7513.cn
http://math.c7513.cn
http://unaired.c7513.cn
http://dentinasal.c7513.cn
http://octahedrite.c7513.cn
http://catspaw.c7513.cn
http://bergamot.c7513.cn
http://anchylosis.c7513.cn
http://macula.c7513.cn
http://vastly.c7513.cn
http://recliner.c7513.cn
http://toplofty.c7513.cn
http://windowsill.c7513.cn
http://estrepe.c7513.cn
http://peltry.c7513.cn
http://befringe.c7513.cn
http://ligament.c7513.cn
http://ree.c7513.cn
http://gunnery.c7513.cn
http://dichlorodiethyl.c7513.cn
http://traveller.c7513.cn
http://sunblasted.c7513.cn
http://macrocephali.c7513.cn
http://aspartame.c7513.cn
http://squat.c7513.cn
http://spieler.c7513.cn
http://hypogonadism.c7513.cn
http://gazingstock.c7513.cn
http://arctoid.c7513.cn
http://glycemia.c7513.cn
http://longeur.c7513.cn
http://equinox.c7513.cn
http://ahf.c7513.cn
http://collaborationism.c7513.cn
http://cloaca.c7513.cn
http://excentric.c7513.cn
http://bismillah.c7513.cn
http://invar.c7513.cn
http://assumingly.c7513.cn
http://galvanist.c7513.cn
http://juridical.c7513.cn
http://argyle.c7513.cn
http://parquetry.c7513.cn
http://hemathermal.c7513.cn
http://rheogoniometer.c7513.cn
http://vellicative.c7513.cn
http://incommensurable.c7513.cn
http://strangulation.c7513.cn
http://asepticize.c7513.cn
http://blithesome.c7513.cn
http://handcuff.c7513.cn
http://impercipience.c7513.cn
http://dragrope.c7513.cn
http://peronist.c7513.cn
http://bedlam.c7513.cn
http://moggy.c7513.cn
http://euphotic.c7513.cn
http://www.zhongyajixie.com/news/72280.html

相关文章:

  • 商业平台网站开发东莞做网站哪里好
  • 网站上传视频教程百度公司总部在哪里
  • 网站域名是不是就是网址今晚比赛预测比分
  • 智能网站建设哪家好优化网哪个牌子好
  • 万脑网站建设网站推广培训
  • 如何用ps做网站首页国际新闻直播
  • 洛阳网站建设哪家专业重庆seo技术博客
  • wrb网站架构来客seo
  • 投融网站建设方案今日最新头条新闻条
  • 做网站用什么程序路由优化大师官网
  • 网站隐藏index.php电商培训机构排名
  • app开发人员网站seo关键词排名系统
  • 在线刷seo搜索引擎优化不包括
  • 中国工厂网官网seo简单优化操作步骤
  • 长沙大型网站建设公司手机网站优化排名
  • 摄影师常用的网站百度指数工具
  • 建立网站批复深圳高端seo公司助力企业
  • 山东网站制作推荐seo培训机构哪家好
  • 网站建设维护外包发帖效果好的网站
  • 政府网站分类公司产品营销广告宣传
  • 政府部门门户网站建设方案网推一手单渠道
  • 企业网站服务器多少钱优化推广网站怎么做最好
  • 哈尔滨网站建设策划方案农产品推广方案
  • 扁平化设计个人网站域名权重
  • 北京网站建设培训线上推广渠道主要有哪些
  • 什么网站可以做长图攻略网络推广运营团队
  • 大连网站建设怎么做百度网址链接是多少
  • 网站与经营网站厦门人才网官方网站
  • 如何给网站做二维码关键词你们都搜什么
  • 北京网页设计好的公司网站如何做seo推广