推荐阅读最新更新时间:2024-11-06 14:38
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
一、环境介绍 MCU: STM32F103ZET6 编程软件环境: keil5 红外线传输协议: NEC协议---38KHZ载波:。NEC协议是红外遥控协议中常见的一种。 解码思路: 外部中断 + 定时器方式 代码风格: 模块化编程,寄存器直接操作方式 完整keil工程源码下载(解压即可编译运行测试): https://download.csdn.net/download/xiaolong1126626497/19863275 二、NEC协议与解码思路介绍 2.1 采用的相关硬件 图1: 这是NEC协议的红外线遥控器: 如果自己手机没有红外线遥控器的功能,可以淘宝上买一个小遥控器来学习测试,成本不高
[单片机]
IAR开发STM32堆栈设置
一、前言 关于堆栈的定义在此就不赘述,详细内容可以看这篇博客。 堆栈溢出会导致野指针,返回地址错误等问题,通常程序已经无法正常运行,进入 HardFault 异常中断。为了避免这种情况,一般会分配较大的空间用做栈,可是如果仅仅为了安全就分配大空间的栈势必导致内存浪费。本文介绍两种获取栈最大消耗的方法,以方便合理设置栈的大小。 二、方法 1、方法一 栈指针 SP 指向的位置可以反应出当前栈的消耗量。在 STM32 中,栈是向下生长的,如果我们定期的获取栈指针 SP 的值,比较后得到一个最小值,就代表了栈的最大消耗量。而如何才能定期去获取栈指针 SP 的值呢?可以使用定时器产生一个周期性的中断,在中段函数中获取栈指针 SP 的值。
[单片机]
STM32开发笔记45:看门狗驱动程序的移植
单片机型号:STM32F070F6P6 本文介绍将看门狗驱动程序移植到自己工程中的方法,本项目使用的是独立看门狗IWDG。 1、在STM32CubeMX中使能看门狗,如下图所示。 2、查看看门狗时钟。 3、对看门狗进行设置,这里主要的是设置IWDG down-counter reload value。IWDG counter clock prescaler为分频系数,我现在项目设置的IWDG的时钟是40KHz,所以分频后为40000/64=625Hz,我先在项目需要使用5秒的看门狗,则625*5=3125,就是IWDG down-counter reload value的数值。 4、在自己的工
[单片机]
在Mac OS X中使用VIM开发STM32(1)
在先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最简单的交叉编译和下载环境。但是,只有交叉编译和下载环境是不够的,方便起见,我们需要一个像Keil或者IAR for ARM一样的集编辑源代码、调试与一体的开发环境。当然我们可以选择eclipse,BUT,既然都已经走到这一步了,我们为什么不来一个彻彻底底的DIY呢? 所以,我又看到了VIM这款一直以来低调奢华的编辑器,由于其跨平台的特性,我计划一劳永逸的搞定它!从此不必再纠结用什么IDE更好了,收费的、摸不着头脑的、配置纠结的都特么滚犊子,简直受够了!VIM配置好了以后,可以装进U盘带走,走到哪写到哪,你是不是也激动了?走起
[单片机]
CRT到OLED 到底谁主宰了显示技术发展
显示市场如果以20年为期,那么最近这20年时间,无疑是液晶显示技术的天下,在此之前, CRT 技术是当之无愧的主导,而在下一个20年内,是 OLED 显示技术称雄还是有其他次时代显示技术取而代之,现在仍然难以定论,但可以确定的是,显示市场正站在一个选择的分叉口上。下面就随嵌入式小编一起来了解一下相关内容吧。 最被我们所熟悉的显示设备,当然就是电视机产品了,从 CRT 到现在最流行的 OLED ,电视几乎涵盖了显示技术的所有形态。作为最早出现在我们生活中的大家电产品之一,电视承载了那个年代人们娱乐生活的绝大部分期待,久而久之它便成了生活的一部分,时至今日仍然扮演着家庭中不可或缺的角色。回溯电视显示技术发展历程,我们发现它是
[嵌入式]
ST 最新STM32 Primer开发工具可玩Maze和Breakout
完整、独立、预编程的评估工具套件,既有充满趣味性的功能介绍,又有严肃的开发工具,可以链接到在线开发社区 中国,2007年10月15日 — 意法半导体(纽约证券交易所代码:STM)今天推出了一套价格低廉的开发工具,这款代号为STM32 Primer开发工具是一套完整的学习与娱乐相结合的趣味性应用开发工具,用于ST的STM32系列基于具有突破性的ARM Cortex-M3内核的闪存微控制器。这套工具包含一个创新的用户界面、多个游戏和向新用户介绍该系列产品的产品入门功能,以及用于高级开发和编程的Raisonance软件工具。 STM32 Primer是一个手持评估开发工具,力图通过简单和有趣的介绍,让用户了解STM32的强大功能。紧
[新品]
STM32开发 -- UTC、UNIX时间戳、北京时间之间的转换
我碰到的问题,GPS上UTC时间转北京时间和STM32上UNIX时间戳转北京时间。 这部分之前讲RTC和GPS的时候有涉及到一部分。 具体的RTC如何得到UNIX时间戳,和GNRMC如何解析得到UTC时间可以参看一下。 参看:STM32开发 – RTC详解 参看:STM32开发 – GPS模块开发详解 扩展:C语言再学习 – 时间函数 这里主要看三者转换方法: 一、UTC时间转换为北京时间 参看:UTC时间转换为北京时间 时间类型结构体 //UTC时间信息 __packed typedef struct { uint16_t year; //年份 uint8_t month; //月份 uin
[单片机]
使用 sw4stm32 作为IDE 开发 stm32 程序
其实严格说来, sw4stm32 qis其实就是 eclipse de的改装版。 1. 首先使用 stm32 cubeMX 设定模式, 并生成 工程以及代码。 2. 使用 sw4stm32 打开工程, 编译调试 note: debug configuration修改 debugger 的 Mode setup wei software system reset,。 才能调试。 使用 STM32Cube/Repository/STM32Cube_FW_F4_V1.21.0/Projects/STM32F401RE-Nucleo/Examples/UART 的范例来作串口手法 即main.c 末尾只
[单片机]