- 博客(42)
- 收藏
- 关注
原创 STM32F427+RTthread——USB虚拟串口
然后引入驱动drv_usbd.c,将BSP_USING_USBD写入rtconfig.c中。在CubeMX_Config文件夹下就有生成的usb相关文件,添加到Project工程里。书接上回说到,RT-Thread完整版移植完毕,接下来做USB虚拟串口的功能。最后编译成功,list device可以看到usbd和vcom就大功告成。打开MX工程文件,配置USB CDC。先在ENV上选好USB CDC选项。添加usb相关的库文件。添加driver文件。
2024-04-12 17:14:24 362
原创 STM32F427的RT-Thread完整版移植——BSP制作
board.h 文件中配置了 FLASH 和 RAM 的相关参数,这个文件中需要修改的是 STM32_FLASH_SIZE 和 STM32_SRAM_SIZE 这两个宏控制的参数。本次制作的 BSP 所用的 STM32F427VG 芯片的 flash 大小为 2M,ram 的大小为 256k。在stm32f4xx\board\CubeMX_Config路径重新弄个427的MX工程代替原来407MX工程。linker_scripts 链接文件,以link.icf文件为参照,其他的自行改变。
2024-04-12 15:27:21 472
原创 【记录】STM32F427移植RTT
在main函数里,注释掉,因为在最初始化时已经有了rt_hw_board_init()然后把所有HAL-Dleay函数改为rt_thread_delay函数。记得修改board.c中的串口,不然没得玩。仅打开所需的串口引脚。其他照旧,生成工程文件。
2024-04-08 10:52:49 228
原创 【学习记录】RTthread U盘(usb host)华大HC32F46
在弄这个U盘挂载,花了我好多时间,一直借鉴别人的例子做,移植都不成功,最终发现最新的BSP版本有drv_usbh.c这个关键性驱动文件,直接搬过来移植。
2024-02-05 15:25:44 690
原创 华大HC32F460——将数据保存在Flash特定扇区
因此,在写入新数据之前,需要确保目标位置是在扇区的边界之内,否则可能会导致数据写入错误或损坏。对这 32Bytes地址进行编程、扇区擦除、全擦除,FLASH数据不会改变,对这些地址读,读到 数据为全1。最后,在写入新数据时,也需要按照Flash存储器的读写规范进行操作,避免不当的操作导致Flash存储器的损坏或数据丢失。此外,为了防止在写入新数据时误删自己的程序或其他重要数据,建议在写入新数据之前先备份程序或其他重要数据。同时,在写入新数据之前,也需要确保目标位置没有其他重要的数据,以避免误删其他数据。
2023-12-13 09:57:49 1289
原创 【解决问题】IAR中宏_DLIB_THREAD_SUPPORT被移除
在IAR的DLib_Defaults.h文件中_DLIB_THREAD_SUPPORT被移除,并且会抛出一个错误。
2023-09-26 09:56:09 247
原创 (IAR)atomic_arm.c __LDREX 和 __STREX 不兼容
_LDREXW__LDREXW往上翻再往上找,找到原函数改!__STREXW__STREXW往上翻再往上找,找到原函数改!
2023-09-22 10:49:03 263
原创 HC32F460的RTT BSP移植(二)ENV报错——Kconfig问题
RT-Thread-【国产MCU移植】移植RT-Thread到国产芯片HC32F460PETBRT-Thread问答社区 - RT-Thread。新建一个hc32f460文件夹,把之前所有文件放入(除了libraries)修改在hc32f460_bsp\hc32f460目录下的Kconfig文件。再试一次(需在hc32f460_bsp\hc32f460目录下)测试Kconfig是否修改成功。在\hc32f460目录下右键。从下载的RTThread BSP文件夹拷贝下图四个文件夹。
2023-09-19 14:38:26 179
原创 TimerA输出可调占空比PWM——华大HC32F460
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期 单位: Hz 表示方式: T=1/f 周期=1/频率 50Hz = 20ms 一个周期是一个脉冲周期内,高电平的时间与整个周期时间的比例 单位: % (0%-100%) 表示方式:80%一个脉冲信
2023-08-11 11:12:36 3288 3
原创 串口UART模式中断收发数据——华大HC32F460
USART1基地址为:0x4001_D000USART2基地址为:0x4001_D400USART3基地址为:0x4002_1000USART4基地址为:0x4002_1400引脚映射:华大HC32F460与STM32F10x的区别在于:HC32F460有64个引脚支持Fun32~63功能选择,即我们说的重映射,Fun32~63主要为串行通信功能(包含USART,SPI, I2C, I2S, CAN);分为了Fun_Grp1、Fun_Grp2。具体可看。而STM32F10x的GPIO
2023-07-27 09:50:12 3218 2
原创 STM32学习——独立看门狗IWDG
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造 成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会 造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测 的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称看门狗” (watchdog)。独立看门狗工作在主程序之外,能够完全独立工作,它的时钟是专用的低速时钟(LSI),由VDD电压供电, 在停止模式和待机模式下仍能工作。
2023-06-19 22:59:55 361
原创 STM32学习——项目四:Wi-Fi插座_风扇_灯
通过ESP8266模块,实现手机控制wifi插座风扇灯。ESP8266模块CH340杜邦线串口1用于与ESP8266通讯,串口2连接PC,用于打印log,查看系统状态。注意:工作中一般不直接在中断服务函数里处理数据,而是在收到数据后直接丢给队列,再处理数据;在中断服务函数里尽量减少使用延时函数及打印函数。
2023-06-19 09:52:59 479
原创 STM32学习——PWN概念
高级定时器(TIM1):7路通用定时器(TIM2~TIM4):各4路在向下计数时,一旦CNT > CCRx时输出为无效电平,否则为有效电平。在向下计数时,一旦CNT > CCRx时输出为有效电平,否则为无效电平。由TIMx_CCRx寄存器决定。需求:使用PWM点亮LED1实现呼吸灯效果。
2023-06-11 09:28:56 599
原创 STM32学习——定时器中断实验
需求:使用定时器中断方法,每500ms翻转一次LED1灯状态。1.RCC配置2.LED1,2灯配置3.时钟数配置4.TIM2配置。
2023-06-09 17:10:20 311
原创 STM32学习——定时器Timer介绍
定时器介绍 软件定时 缺点:不精确、占用CPU资源void Delay500ms() //@11.0592MHz{ unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i);}定时器工作原理:
2023-06-09 11:14:59 333
原创 STM32学习——项目一电动车报警器
单片机供电VCC GND接单片机产品不震动,输出高电平,模块上的DO口产品震动,输出低电平,绿色指示灯亮AO口不用。
2023-06-07 23:20:57 245
原创 STM32学习——按键点亮LED(中断法)
在main.c的main函数上另外写一个函数,代替原来的HAL_GPIO_EXTI_Callback函数。烧入STM32单片机,复位即可。
2023-06-07 15:51:38 457
原创 STM32学习——中断和事件相关概念
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
2023-06-07 10:56:23 661
原创 STM32学习——复位和时钟控制
3.配置Clock Configuration,遵循一条主线,72Mhz。不一定配置72Mhz,数值越大功率越高,具体要看工作需求而配置。备份区域拥有两个专门的复位,它们只影响备份区域。软件复位,备份区域复位可由设置备份域控制寄存器。当以下事件中之一发生时,产生备份区域复位。三种不同的时钟源可被用来驱动系统时钟。时钟打开,对应的设备才会工作。2.RCC配置HSE振荡器时钟。振荡器时钟(高速内部时钟)振荡器时钟(高速外部时钟)上电将引发备份区域复位。时钟(锁相环倍频时钟)1.配置SYS串口写入。
2023-06-07 09:45:03 258
原创 STM32学习——按键点亮LED灯
在STM32CubeMX建立项目打开PA0和PA1的GPIO_INPUT,打开PB8和PB9的GPIO_OUTPUT在SYS里Debug设置为串口Serial Write将PB8和PB9起始位调为高电平,不亮随后调整一些参数,生成文件。
2023-06-06 19:39:31 426 1
原创 STM32入门介绍、了解
单片机()是一种集成电路芯片,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
2023-06-06 16:12:51 1042 1
原创 智能家居-基于香橙派——语音、网络的串口设置(三)
socket模块Control-socket.c。语音模块Control-voice.c。控制管理InputCommand.h。
2023-05-26 13:19:08 285 1
原创 智能家居-基于香橙派zreo2——手把手搭建、继电器控制灯(一)
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
2023-05-26 10:24:51 551 1
空空如也
RTT USB HOST移植
2023-10-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人