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

各大网站搜索引擎天津seo排名

各大网站搜索引擎,天津seo排名,帮人注册网站_做app,创建全国文明城市工作要求以下是针对STM32F103RC实现LED闪烁(PC13引脚)的三种开发方式示例代码,每种方式均保持相同的核心逻辑: 1. 寄存器开发方式(直接操作寄存器) #include "stm32f10x.h"int main(void) {// 1. 开启G…

以下是针对STM32F103RC实现LED闪烁(PC13引脚)的三种开发方式示例代码,每种方式均保持相同的核心逻辑:

1. 寄存器开发方式(直接操作寄存器)

#include "stm32f10x.h"int main(void) {// 1. 开启GPIOC时钟 (APB2总线)RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;// 2. 配置PC13为推挽输出模式 (50MHz)GPIOC->CRH &= ~(GPIO_CRH_MODE13 | GPIO_CRH_CNF13);  // 清除旧配置GPIOC->CRH |= GPIO_CRH_MODE13_0;  // 输出模式, 50MHzwhile(1) {// 3. 点亮LED (PC13置低电平)GPIOC->BSRR = GPIO_BSRR_BR13;// 4. 简单延时for(volatile uint32_t i = 0; i < 500000; i++);// 5. 熄灭LED (PC13置高电平)GPIOC->BSRR = GPIO_BSRR_BS13;// 6. 延时for(volatile uint32_t i = 0; i < 500000; i++);}
}

2. 标准库开发方式(使用STM32F10x Standard Peripheral Library)

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"int main(void) {// 1. 初始化结构体GPIO_InitTypeDef GPIO_InitStruct;// 2. 开启GPIOC时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);// 3. 配置PC13参数GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;  // 推挽输出GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; // 速度50MHzGPIO_Init(GPIOC, &GPIO_InitStruct);while(1) {// 4. 点亮LEDGPIO_ResetBits(GPIOC, GPIO_Pin_13);// 5. 延时for(volatile uint32_t i = 0; i < 500000; i++);// 6. 熄灭LEDGPIO_SetBits(GPIOC, GPIO_Pin_13);// 7. 延时for(volatile uint32_t i = 0; i < 500000; i++);}
}

3. HAL库开发方式(使用STM32Cube HAL库)

#include "stm32f1xx_hal.h"void SystemClock_Config(void);  // 时钟配置声明 (通常由CubeMX生成)int main(void) {HAL_Init();                 // 初始化HAL库SystemClock_Config();       // 配置系统时钟// 1. 初始化GPIOC__HAL_RCC_GPIOC_CLK_ENABLE();  // 使能GPIOC时钟GPIO_InitTypeDef GPIO_InitStruct = {.Pin = GPIO_PIN_13,.Mode = GPIO_MODE_OUTPUT_PP,  // 推挽输出.Pull = GPIO_NOPULL,.Speed = GPIO_SPEED_FREQ_HIGH // 高速模式};HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);while(1) {// 2. 翻转LED状态 (HAL自带延时)HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);HAL_Delay(500);  // 使用HAL延时500ms}
}// 简化的时钟配置 (实际需根据板晶振修改)
void SystemClock_Config(void) {RCC_OscInitTypeDef osc = {0};RCC_ClkInitTypeDef clk = {0};osc.OscillatorType = RCC_OSCILLATORTYPE_HSE;osc.HSEState = RCC_HSE_ON;osc.PLL.PLLState = RCC_PLL_ON;osc.PLL.PLLSource = RCC_PLLSOURCE_HSE;osc.PLL.PLLMUL = RCC_PLL_MUL9;HAL_RCC_OscConfig(&osc);clk.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;clk.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;clk.AHBCLKDivider = RCC_SYSCLK_DIV1;clk.APB1CLKDivider = RCC_HCLK_DIV2;clk.APB2CLKDivider = RCC_HCLK_DIV1;HAL_RCC_ClockConfig(&clk, FLASH_LATENCY_2);
}

关键差异总结:

特性寄存器开发标准库开发HAL库开发
代码复杂度高(需直接操作寄存器)中(封装硬件操作)低(高度抽象)
可移植性低(芯片依赖性强)中(同系列芯片可移植)高(跨系列兼容)
开发效率低(需查阅手册)中(接口直观)高(集成工具链支持)
资源占用极小(无库开销)中等(需链接库文件)较大(库文件体积大)
适用场景极致优化/资源受限项目传统项目维护快速原型开发/复杂外设操作
http://www.dtcms.com/wzjs/461263.html

相关文章:

  • 广州有哪些做网站专业的公司西安网是科技发展有限公司
  • 湖南专业网站建设服务数据网站
  • 北京赛车手机网站建设怎样自己开发一款软件
  • 沭阳奥体小区做网站的网络营销做得好的公司
  • 黑彩网站建设运营廊坊首页霸屏排名优化
  • 云南竞价网络推广托管seo托管服务
  • 武汉百度建网站提交网站收录入口
  • 企业网站建设的类型有哪些网站推广的基本手段有哪些
  • 滨州内做网站系统的公司谷歌商店下载
  • 电子商务网站的建设怎么开通网站平台
  • 做网页网站 的公司网站seo优化步骤
  • 公司网站建设费属于什么费用网络营销产品策略分析
  • wordpress 多模板下载抖音seo关键词优化怎么做
  • 展馆设计收费标准seo平台是什么
  • 做物流网站的多少钱微信指数查询
  • 如何学好网站开发seo简介
  • 西安南郊做网站宣传方式
  • 建湖做网站的公司seo营销网站的设计标准
  • 定制网站建设公司排行营销型网站一般有哪些内容
  • 外币信用卡怎么做网站上用搜索引擎推广与优化
  • 网站开发集成软件什么是sem推广
  • 网站的登记表是怎么做的长沙网络公司最新消息
  • 做足彩网站推广谷歌seo教程
  • 网站ip地址范围百度指数是搜索量吗
  • 图片做多的网站是哪个宁波优化推广选哪家
  • 深圳企业官网设计公司宜昌网站seo
  • 什么网站可以做片头长春视频剪辑培训机构
  • 杭州论坛网站制作谷歌官方网站注册
  • 现在的网站建设用什么语言广告公司网上接单平台
  • 国外网站做freelancerseo关键词怎么选择