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

Clion开发stm32之微妙延迟(采用nop指令实现)

前言

  1. 需要借助逻辑分析仪动态调整参数
  2. 此次测试的开发芯片为stm32f103vet6

延迟函数

声明

#define NOP_US_DELAY_MUL_CNT 5 /*nop 微妙延迟需要扩大的倍数(根据实际动态修改)*/
void bsp_us_delay_nop(uint32_t us);void bsp_ms_delay_nop(uint32_t ms);

定义

void bsp_us_delay_nop(uint32_t us) {us = us * NOP_US_DELAY_MUL_CNT;while (us--) {__NOP();}
}void bsp_ms_delay_nop(uint32_t ms) {for (uint32_t i = 0; i < ms; ++i) {bsp_us_delay_nop(1);}
}

测试

static void TEST_init() {stm_pin_define_t *pb_5_ptr = stm_get_pin(PB5);stm32_pin_define_mode_set(pb_5_ptr, pin_mode_output);while (true) {stm32_pin_define_toggle(pb_5_ptr);bsp_us_delay_nop(2);}
}sys_init_export(TEST, TEST_init);

结果

满足预期效果
在这里插入图片描述

http://www.lryc.cn/news/96228.html

相关文章:

  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)
  • Langchain 的 Conversation summary memory
  • Safari 查看 http 请求
  • kafka权限控制功能
  • 公司内部重要文件如何加密防止泄露?
  • C语言或Java-x型图案
  • FTP客户端登录报错:Login failed
  • Linux相关指令(上)
  • 电压放大器在管道缺陷检测中应用有哪些
  • NLP(六十二)HuggingFace中的Datasets使用
  • Windows下基于VSCode搭建C++开发环境(包含整合MinGW64、CMake的详细流程)
  • springboot+mybatis-plus+vue+element+vant2实现短视频网站,模拟西瓜视频移动端
  • MySQL学习-第二部分
  • TortoiseGit 入门指南17:使用子模块
  • 谷粒商城篇章5 ---- P173-P192 ---- 检索服务【分布式高级篇二】
  • N位分频器的实现
  • 华为OD真题--分苹果-带答案
  • 【前端实习评审】对小说详情模块更新的后端接口压力流程进行了人群优化
  • Factorization Machines(论文笔记)
  • Qt开发(5)——使用QTimer定时触发槽函数
  • 2023年JAVA最新面试题
  • (四)RabbitMQ高级特性(消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列
  • Vue如何配置eslint
  • Elasticsearch查询文档
  • 面向对象编程:多态性的理论与实践
  • linux:filezilla root密码登陆
  • 在nginx上部署nuxt项目
  • 嵌入式linux通用spi驱动之spidev使用总结
  • 【Nodejs】Puppeteer\爬虫实践
  • Windows Active Directory密码同步