<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RampagePBZ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/RampagePBZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; RampagePBZ]]></copyright><item><title><![CDATA[在编译stm32 arm gcc工程中遇到的一些关于C++的问题]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/131886122</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/131886122</guid><author>RampagePBZ</author><pubDate>Sun, 23 Jul 2023 23:05:43 +0800</pubDate><description><![CDATA[在编译stm32 arm gcc工程中遇到的一些关于C++的问题
环境 : vscode Embeded IDE插件。
工程 : 使用cubemx生成的stm32 gcc工程。
​	我在尝试移植以前在esp-idf写的一个用c++实现的ssd1306组件，遇到了几个问题。首先是virtual析构器无法通过编译，这个是小问题，查询万能的互联网发现是没有链接stdc++库，在链接器后面加入-lstdc++就能解决。(但是我还有其他类，没有使用virtual修饰析构器，却能正常编译通过)。
​
编译器报错:  u]]></description><category></category></item><item><title><![CDATA[dma循环刷新oled屏幕]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/124848915</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/124848915</guid><author>RampagePBZ</author><pubDate>Wed, 18 May 2022 19:09:42 +0800</pubDate><description><![CDATA[DMA循环刷新oled12864
一、oled12864的初始化
​	这里使用的是oled12864 7Pin-SPI,屏幕驱动:ssd1306，i2c接口的看具体情况改。主控:stm32f103vet6
​	一般网上的oled代码初始化过程都将oled的寻址模式配置成了页寻址模式，在页寻址模式下使用DMA循环发送的话，每次刷新完一页(128Byte)都要发送重新设置下一页的地址，所以不能一次性刷新整个屏幕。
​	查阅ssd1306的数据手册，得到设置寻址方式的命令。

​	将ssd1302设置成水平寻址模]]></description><category></category></item><item><title><![CDATA[学习QT时的笔记]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/124617868</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/124617868</guid><author>RampagePBZ</author><pubDate>Fri, 06 May 2022 20:19:28 +0800</pubDate><description><![CDATA[参考代码
Q_OBJECT : 宏 定义了槽和信号的相关属性和方法
自定义窗口类
代码中myButton类是自定义按钮类,继承QPushButton类
mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H

#include &lt;QWidget&gt;
#include "mybutton.h"

namespace selfSpace
{

class myWidget;

class myWidget : public QWidget
{
    Q_OB]]></description><category></category></item><item><title><![CDATA[STM32使用HAL库配置虚拟串口]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/124535943</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/124535943</guid><author>RampagePBZ</author><pubDate>Mon, 02 May 2022 02:29:58 +0800</pubDate><description><![CDATA[stm32 hal库 虚拟串口
一包最大64字节,一次发送时大于64字节时发送函数会自动分包发送,但是接收回调函数最大只能接收64字节!!,多余字节会覆盖!!
解决方案,累加每次进入接收回调函数时的包长度,并且重新设置接收地址
//功能:返回虚拟串口接收的数据-&gt; 以'\n'结尾,可以支持大于64字节的接收
//理论上所有hal库生成的工程(不论芯片,只要支持usb)都可以使用这个回调函数 -&gt; usbd_cdc_if.c
static int8_t CDC_Receive_FS(uint8_t]]></description><category></category></item><item><title><![CDATA[freeRTOS快速笔记]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/119148886</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/119148886</guid><author>RampagePBZ</author><pubDate>Tue, 27 Jul 2021 17:24:18 +0800</pubDate><description><![CDATA[FreeRTOS
个人总结,对准确性不提供100%保证
文章目录**FreeRTOS**一.在stm32f10x上的移植(vet6)1.源文件的获取2.源文件的拷贝和理解3.在startcode中重定向中断入口函数4.freeRTOSConfig.h的编写或修改5.freeRTOS移植测试二.几个常用的API函数1.xTaskCreate()2.vTaskStartScheduler()3.vTaskDelete()4.vTaskDelay()5.vTaskDelayUntil()6.taskYIELD()]]></description><category></category></item><item><title><![CDATA[stm32串口]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/118424606</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/118424606</guid><author>RampagePBZ</author><pubDate>Fri, 02 Jul 2021 22:56:34 +0800</pubDate><description><![CDATA[stm32f10x串口通讯
文章目录stm32f10x串口通讯大致说明USART_Rx_Sbuffer二维数组 -&gt; 串口接收缓存区USART_Tx_Sbuffer二维数组 -&gt; 串口DMA发送缓存区bsp_usart.cbsp_usart.hisr.c
基于stm32f103zet6
串口发送使用DMA发送
大致说明
USART_Rx_Sbuffer二维数组 -&gt; 串口接收缓存区
​			一共3行 Rx_SbufferSize 列 ,Rx_SbufferSize由宏定义。
​			0,1]]></description><category></category></item><item><title><![CDATA[freeRTOS笔记(三)]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/118231168</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/118231168</guid><author>RampagePBZ</author><pubDate>Sat, 26 Jun 2021 00:45:39 +0800</pubDate><description><![CDATA[FreeRTOS学习笔记(三)
文章目录**FreeRTOS学习笔记(三)**一,队列相关API函数1.xQueueCreate()2.xQueueSend()3.xQueueReceive()二,学习验证代码
一,队列相关API函数
1.xQueueCreate()
​	队列创建函数
​	在硬件中断中禁止使用这个函数!!
原型
#define xQueueCreate( uxQueueLength, uxItemSize )    xQueueGenericCreate( ( uxQueueLength ]]></description><category></category></item><item><title><![CDATA[freeRTOS学习笔记二]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/115794278</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/115794278</guid><author>RampagePBZ</author><pubDate>Sat, 17 Apr 2021 14:00:19 +0800</pubDate><description><![CDATA[FreeRTOS学习笔记(使用层面)
文章目录**FreeRTOS学习笔记(使用层面)**一.在stm32f10x上的移植(vet6)1.源文件的获取2.源文件的拷贝和理解3.在startcode中重定向中断入口函数4.freeRTOSConfig.h的编写或修改5.freeRTOS移植测试二.几个常用的API函数1.xTaskCreate()2.vTaskStartScheduler()3.vTaskDelete()4.vTaskDelay()5.vTaskDelayUntil()
一.在stm32f10]]></description><category></category></item><item><title><![CDATA[FreeRTOS学习笔记(一)]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/115733278</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/115733278</guid><author>RampagePBZ</author><pubDate>Thu, 15 Apr 2021 18:03:07 +0800</pubDate><description><![CDATA[FreeRTOS学习笔记(一)
一.在stm32f10x上的移植(vet6)

1.源文件的获取
​			官方网站:https://www.freertos.org/

2.源文件的拷贝和理解
1. FreeRTOS系统层源代码


/Source下的.c文件
在工程目录下创建freeRTOS_core文件夹，用来存放/Suorce文件里的.c文件


/Source/include下的.h文件
直接将整个文件夹放入freeRTOS_core文件夹里


2. FreeRTOS接口层代码


/Source]]></description><category></category></item><item><title><![CDATA[OpenMV多色块识别]]></title><link>https://blog.youkuaiyun.com/RampagePBZ/article/details/113780812</link><guid>https://blog.youkuaiyun.com/RampagePBZ/article/details/113780812</guid><author>RampagePBZ</author><pubDate>Wed, 10 Feb 2021 11:54:08 +0800</pubDate><description><![CDATA[OpenMV多色块识别实现效果具体代码
实现效果

具体代码
在屏幕上放的测试图片,实物可能需要更改一下阈值

import sensor, image, time ,pyb

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(100)
#初始化指示灯
led = pyb.LED(2)
led.on()
time.sleep(150)
led.off(]]></description><category></category></item></channel></rss>