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

stm32-hal库

总线结构


cubemx给i2c生成了一个句柄 hi2c1

uint8_tcommands[]={0x00,// oled写命令0xAE,// 关闭屏幕0x8d,0x14,//使用电荷泵0xAF,// 打开屏幕};/** * HAL_OK : 成功 * HAL_ERROR : 发送出错 * HAL_BUSY : i2c接口忙 * HAL_TIMEOUT : 发送超时 * */HAL_I2C_Master_Transmit(&hi2c1,0x78,commands,sizeof(commands)/sizeof(commands[0]),HAL_MAX_DELAY);uint8_tdataRcvd;HAL_I2C_Master_Receive(&hi2c1,0x78,&dataRcvd,1,HAL_MAX_DELAY);if((dataRcvd&(0x01<<6))==0){HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}else{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);}


USART代码

/** *HAL_OK : 成功 *HAL_ERROR : 失败 *HAL_BUSY : 串口忙 *HAL_TIMEOUT : 超时 * */uint8_tbyteNumber=0x5a;char*str="hello world";// int8_tHAL_UART_Transmit(&huart1,&byteNumber,1,HAL_MAX_DELAY);HAL_UART_Transmit(&huart1,(uint8_t*)str,strlen(str),HAL_MAX_DELAY);
uint8_treceive;HAL_UART_Receive(&huart1,&receive,1,HAL_MAX_DELAY);if(receive=='0'){HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);}else{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);}

串口中断

weak表示可以被覆盖,,,

// 收5次中断,,这五个中断都执行完了的话,,,会执行最终的回调函数// 中断是hal自己完成的,,我们只需要关注完成之后的那个函数HAL_UART_Receive_IT(&huart1,&receiveData,1);

每次接收一个,,进入中断后再启动下一次的中断

/** *串口中断完成进入函数 * @param huart 哪一个串口句柄 */voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart){if(huart==&huart1){if(receiveData=='1'){blinkTime=1000;}elseif(receiveData=='2'){blinkTime=400;}elseif(receiveData=='3'){blinkTime=200;}HAL_UART_Receive_IT(&huart1,&receiveData,1);}}

实际寄存器
影子寄存器

http://www.cnnetsun.cn/news/3058210.html

相关文章:

  • 英雄联盟Akari助手:免费开源的游戏效率神器完整指南
  • 基于MCP协议构建对话式API自动化测试工具:原理、实现与工程实践
  • 从工程师到技术Leader的转变
  • Spring AI + Ollama简单使用
  • 虚拟化技术中的容器编排资源隔离与性能优化
  • 2026亲测:专业降AIGC平台首选方案
  • AHE解读:让Coding Agent的工具、记忆与中间件自动进化
  • linux(2)
  • VSCode插件变黑客后门!GitHub 3800个仓库被攻破
  • NFC标签NDEF数据读写实战:从CC/TLV原理到TRF7970A开发全解析
  • 如何用Ruoyi-Vue-Pro在10分钟内搭建企业级后台管理系统?
  • 2026 主流电商 AI 作图工具全测评|商品主图 / 详情页 / 场景图一站式解决方案
  • CSGClaw 与 CSGLite 如何配合:从本地模型到多智能体协作
  • 独立开发者如何使用 CSGClaw 管理复杂开发任务
  • 计算机毕业设计之基于深度学习的交通标识识别系统的研究与实现
  • 【UniApp小程序知识点总结】API 请求到底该写在哪里?页面钩子 vs 组件内部
  • 全球拖车式冷藏解决方案市场动态、发展趋势及项目可行性研究报告2026-2032
  • OpenEuler GCC与其他编译器对比:谁才是Linux平台的最佳选择?
  • 自定义跨字段校验必填注解
  • AI 如何重塑 FMEA:从七步法向导到知识图谱,一个开源 QMS 的完整实践
  • 从“任意文件复制“深挖Java I/O:字符流与字节流的本质抉择
  • 中台建了、仓库搭了、报表做了,为什么业务还是要Excel?——从DAMA知识体系看数据中台治理落地的工程方法论
  • 奔驰STAR3 E/架构 高速视频链接(HSVL)
  • 专科大数据专业怎么专升本?升学路径+志愿规划+能力提升全攻略
  • XR 沉浸式娱乐在文旅行业的发展前景
  • FastAPI 项目架构设计:按技术分层还是按业务模块?
  • SOLIDWORKS中方程式的高级应用技巧有哪些?
  • langchain-langGraph 细节(面试)-持续补充
  • springCloud集成seata2.x
  • PG 日报|UUID 解析 SIMD 加速,AI 行业动态速览