<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[liangbin414的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/liangbin414</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; liangbin414]]></copyright><item><title><![CDATA[STM32 HAL库的中断接收HAL_UART_Receive_IT 怎么用]]></title><link>https://blog.csdn.net/liangbin414/article/details/121289379</link><guid>https://blog.csdn.net/liangbin414/article/details/121289379</guid><author>liangbin414</author><pubDate>Fri, 12 Nov 2021 16:33:13 +0800</pubDate><description><![CDATA[因为HAL库都封装好了，如果想用中断接收，不能在中断里直接读RXD寄存器。
第一步，初始化时使能串口中断
MX_USART2_UART_Init();
     if (HAL_UART_Init(&amp;huart2) != HAL_OK)
            HAL_UART_MspInit(huart);
            		......
    				HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
    				HAL_NVIC_EnableIRQ]]></description><category></category></item><item><title><![CDATA[stm32自定义printf，使用DMA打印]]></title><link>https://blog.csdn.net/liangbin414/article/details/111467045</link><guid>https://blog.csdn.net/liangbin414/article/details/111467045</guid><author>liangbin414</author><pubDate>Mon, 21 Dec 2020 09:32:28 +0800</pubDate><description><![CDATA[1、初始化的时候初始化DMA和DMA发送完成中断，串口中断
我用的是STM32G031G8U6,所以用的是串口2，为什么要串口中断。是因为DMA发送完成中断的回调函数UART_DMATransmitCplt，已经在底层定义好。并不是定义为弱函数给用户重新定义。在DMA发送完成中断中，会触发串口发送完成中断TC， 串口发送完成中断的回调函数是给用户用的




2、定义一个全局变量用来指示DMA发送完成，初值为1表示发送完成
并且包含stdarg.h 文件

3、定义myprintf
int myprintf]]></description><category></category></item><item><title><![CDATA[LSM6DS3,SO， SPI]]></title><link>https://blog.csdn.net/liangbin414/article/details/103805836</link><guid>https://blog.csdn.net/liangbin414/article/details/103805836</guid><author>liangbin414</author><pubDate>Sat, 19 Dec 2020 23:45:56 +0800</pubDate><description><![CDATA[LSM6DS3是ST的一款6轴力学传感器，3轴加速度+3轴陀螺仪
LSB的意思是最小有效位，为数字输出方式，一般我们可以用mdps/LSB来表示灵敏度。8.75 mdps/LSB，表示一个bit为8.75mdps。
dps ：Degree Per Second的缩写
°/S的意思。就是一种角速度的单位
在CS引脚为高时启用I2C接口
在CS引脚为低时启用SPI接口
上电CS默认为高电平
LSM6D...]]></description><category></category></item><item><title><![CDATA[入门RT-thread　ENV]]></title><link>https://blog.csdn.net/liangbin414/article/details/103301281</link><guid>https://blog.csdn.net/liangbin414/article/details/103301281</guid><author>liangbin414</author><pubDate>Tue, 01 Dec 2020 00:08:04 +0800</pubDate><description><![CDATA[一、安装软件
1、keil MDK v5.14 以上
2、env_released_1.1.2工具，官网下载后解压，路径中不能有中文和空格
3、官网下载 RT-Thread
二、运行env


三、生成代码
我的是NUCLEO-G070RBG，BSP中没有，所以找一个相近的STM32G071，右键 ConEmu Here


通过MDK打开工程，选择STM32G70, 选择st-link, 选择下...]]></description><category></category></item><item><title><![CDATA[RT-thread nano]]></title><link>https://blog.csdn.net/liangbin414/article/details/109728650</link><guid>https://blog.csdn.net/liangbin414/article/details/109728650</guid><author>liangbin414</author><pubDate>Tue, 17 Nov 2020 23:45:22 +0800</pubDate><description><![CDATA[1、与 RT-Thread 完整版不同的是，Nano 不含 Scons 构建系统，不需要 Kconfig 以及 Env 配置工具，也去除了完整版特有的 device 框架和组件，仅是一个纯净的内核。
2、特点

易裁剪：Nano 的配置文件为 rtconfig.h，该文件中列出了内核中的所有宏定义，有些默认没有打开，如需使用，打开即可。具体的配置可见 Nano 版块的 RT-Thread Nano 配置 教程。
易添加 FinSH 组件：FinSH 组件 可以很方便的在 Nano 上进行移植，而不再依赖 d]]></description><category></category></item><item><title><![CDATA[学习笔记(01):AI 大师课之线上技术峰会-机器学习中的图算法以及在图数库上的应用案例分析...]]></title><link>https://blog.csdn.net/liangbin414/article/details/106301651</link><guid>https://blog.csdn.net/liangbin414/article/details/106301651</guid><author>liangbin414</author><pubDate>Sat, 23 May 2020 16:03:49 +0800</pubDate><description><![CDATA[百万人学AI 系列活动之AI大师课，包含技术公开课，在线峰会等活动，邀请业界专家通过在线直播的形式，让开发者们一站式学习了解当下AI的前沿技术研究、核心技术与应用以及企业案例的实践经验。课程涉及“专家分享+互动问答+群内讨论”等多元方式，与AI学习者/开发者共同交流与成长。参与「AI大师课·线上峰会」活动，还可获得「2020AI开发者万人大会」299元免费参会码一个，报名成功后，免费码会通过短信方...]]></description><category></category></item><item><title><![CDATA[python批量修改文件名]]></title><link>https://blog.csdn.net/liangbin414/article/details/105752679</link><guid>https://blog.csdn.net/liangbin414/article/details/105752679</guid><author>liangbin414</author><pubDate>Sat, 25 Apr 2020 17:04:09 +0800</pubDate><description><![CDATA[今天从抖音上下载了很多个小视频，名字太长，找了个程序把它改成1，2，3…
import os

path ="C:/Users/Administrator/Desktop/english learning/"

filename_list = os.listdir(path)

a = 0
for i in filename_list:
    used_name = path + filenam...]]></description><category></category></item><item><title><![CDATA[STM32怎么利用串口空闲中断进行DMA接收]]></title><link>https://blog.csdn.net/liangbin414/article/details/105403847</link><guid>https://blog.csdn.net/liangbin414/article/details/105403847</guid><author>liangbin414</author><pubDate>Thu, 09 Apr 2020 10:19:49 +0800</pubDate><description><![CDATA[一、在底层中初始化DMA接收和串口中断
void MX_USART1_UART_Init(void)
		HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
				&amp;emsp;&amp;emsp;&amp;emsp;&amp;emsp;HAL_UART_MspInit(UART_HandleTypeDef* uartHan...]]></description><category></category></item><item><title><![CDATA[移植正点的printf]]></title><link>https://blog.csdn.net/liangbin414/article/details/104450374</link><guid>https://blog.csdn.net/liangbin414/article/details/104450374</guid><author>liangbin414</author><pubDate>Thu, 09 Apr 2020 09:55:52 +0800</pubDate><description><![CDATA[  
远程仓
一、用STM32CubeMX生成基本MDK工程
  生成工程时，需要使能三个中断和2个初始化，中断优先级要大于5
1、DMA接收中断
2、DMA发送中断
3、串口中断
4、初始化一个二值信号量uart2_busy, 只有等到该信号量时，才能使用串口。使用串口DMA发送，在发送完中断中，释放该信号量。定义一个消息队列，txQueue, 需要发送的atkp_t类型数据包先发送到这个队列里...]]></description><category></category></item><item><title><![CDATA[dialog SmartSnippets_Studio和SmartSnippets_Toolbox入门]]></title><link>https://blog.csdn.net/liangbin414/article/details/104710688</link><guid>https://blog.csdn.net/liangbin414/article/details/104710688</guid><author>liangbin414</author><pubDate>Mon, 30 Mar 2020 16:45:45 +0800</pubDate><description><![CDATA[如果已经安装，这里选择安装的路径



]]></description><category></category></item><item><title><![CDATA[艾克姆 蓝牙nRF52832上册-学习笔记]]></title><link>https://blog.csdn.net/liangbin414/article/details/104857600</link><guid>https://blog.csdn.net/liangbin414/article/details/104857600</guid><author>liangbin414</author><pubDate>Sat, 28 Mar 2020 16:06:52 +0800</pubDate><description><![CDATA[一 、硬件


IK-52832DK开发板兼容官方nRF52DK（PCA10040）


xxAA: 512K 片内Flash, 64KRAM


xxAB: 256k 片内Flash，32KRAM


二、开发设备
硬件设备
1、开发板
2、JLINK   仿真和下载程序
3、JTAG-SWD转换板
4、IK-52Dongle   抓包或主机控制面板配套使用，可以捕获和分析BLE数据包，帮助理解...]]></description><category></category></item><item><title><![CDATA[STM32F103C8T6　ADC]]></title><link>https://blog.csdn.net/liangbin414/article/details/104967354</link><guid>https://blog.csdn.net/liangbin414/article/details/104967354</guid><author>liangbin414</author><pubDate>Thu, 19 Mar 2020 14:41:30 +0800</pubDate><description><![CDATA[https://blog.csdn.net/apple_2333/article/details/96962574

]]></description><category></category></item><item><title><![CDATA[RT-thread自动初始化]]></title><link>https://blog.csdn.net/liangbin414/article/details/103508926</link><guid>https://blog.csdn.net/liangbin414/article/details/103508926</guid><author>liangbin414</author><pubDate>Mon, 16 Dec 2019 09:08:00 +0800</pubDate><description><![CDATA[远程仓
输入段和输出段
  输入段、输出段是相对link过程来说的。我们写的.C文件编译后生成目标文件.o，这些.o文件由一段一段代码组成，对于link来说，这些是输入段。link过程把这些段重新编排顺序，成生elf或binary文件烧写到flash中，这两种文件也是由段组成，这些段为输出段。
__attribute__的section属性只指定对象的输入段，它并不能影响所指定对象最终会放在可执行...]]></description><category></category></item><item><title><![CDATA[RT-thread 启动main()]]></title><link>https://blog.csdn.net/liangbin414/article/details/103442551</link><guid>https://blog.csdn.net/liangbin414/article/details/103442551</guid><author>liangbin414</author><pubDate>Thu, 12 Dec 2019 22:06:21 +0800</pubDate><description><![CDATA[一、MDK的$Super$$ and $Sub$$
  在mdk的官网上http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0377g/pge1362065967698.html有这么一段介绍，大致意思：
  在无法修改现有符号的情况下，可以使用一些特殊的标识来修补。例如现在的符号已经烧录在外部ROM中了或是别人封装好的库，...]]></description><category></category></item><item><title><![CDATA[STM32CubeMX工程中加入RT_thread]]></title><link>https://blog.csdn.net/liangbin414/article/details/103433606</link><guid>https://blog.csdn.net/liangbin414/article/details/103433606</guid><author>liangbin414</author><pubDate>Sat, 07 Dec 2019 11:29:07 +0800</pubDate><description><![CDATA[  
远程仓
1、在STM32CubeMX中正常生成MDK工程
2、MDK官下载RealThread 软件包，并安装

3、MDK工程中删除…it.c文件

4、加入rt_thead内核

5、main.c中加入头文件



6、rtconfig.h中配置内存管理


...]]></description><category></category></item><item><title><![CDATA[HAL_I2C_Mem_Write与HAL_I2C_Master_Transmit]]></title><link>https://blog.csdn.net/liangbin414/article/details/103145383</link><guid>https://blog.csdn.net/liangbin414/article/details/103145383</guid><author>liangbin414</author><pubDate>Mon, 25 Nov 2019 18:28:17 +0800</pubDate><description><![CDATA[功能：在阻塞模式下将大量数据写入特定的内存地址
HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)

参数...]]></description><category></category></item><item><title><![CDATA[git学习笔记2]]></title><link>https://blog.csdn.net/liangbin414/article/details/101436480</link><guid>https://blog.csdn.net/liangbin414/article/details/101436480</guid><author>liangbin414</author><pubDate>Wed, 20 Nov 2019 23:47:16 +0800</pubDate><description><![CDATA[10、远程仓库
  实际情况往往是这样，找一台电脑充当服务器的角色，每天24小时开机，其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上，并且各自把各自的提交推送到服务器仓库里，也从服务器仓库中拉取别人的提交。
  完全可以自己搭建一台运行Git的服务器，不过现阶段，为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站，从名字就可以看出，这个网站就是提供Git仓...]]></description><category></category></item><item><title><![CDATA[git 学习笔记1]]></title><link>https://blog.csdn.net/liangbin414/article/details/101422232</link><guid>https://blog.csdn.net/liangbin414/article/details/101422232</guid><author>liangbin414</author><pubDate>Wed, 20 Nov 2019 20:52:09 +0800</pubDate><description><![CDATA[https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
  其实就是给本地仓库添加一个远程仓库，
1 、创建一个目录
  什么是版本库呢？版本库又名仓库，英文名repository，你可以简单理解成一个目录，这个目录里面的所有文件都可以被Git管理起来，每个文件的修改、删除，Git都能跟踪，以便任何时刻都可以追踪历史，或者在...]]></description><category></category></item><item><title><![CDATA[把本地仓存在码云上]]></title><link>https://blog.csdn.net/liangbin414/article/details/103082257</link><guid>https://blog.csdn.net/liangbin414/article/details/103082257</guid><author>liangbin414</author><pubDate>Fri, 15 Nov 2019 13:41:21 +0800</pubDate><description><![CDATA[1、生成公钥
打开git bash, 输入如下指令，会提示在某个目录生成一公钥
$ ssh-keygen -t rsa -C "liangbin414@163.com"


把 id_rsa.pub 打开复制密钥到码云上
2、在码云上建立仓库

3、把本地仓关联到远程仓
$ git remote add origin https://gitee.com/luffy84/huawei-ak7375-...]]></description><category></category></item><item><title><![CDATA[树莓派入门1]]></title><link>https://blog.csdn.net/liangbin414/article/details/102772458</link><guid>https://blog.csdn.net/liangbin414/article/details/102772458</guid><author>liangbin414</author><pubDate>Wed, 13 Nov 2019 21:37:58 +0800</pubDate><description><![CDATA[一、装系统
  把镜像文件 (系统) 通过windows电脑烧到SD卡上，插入树莓派。
1、先用SDFormatter.exe软件格式化 SD 卡。

2、用Win32DiskImager.exe烧写镜像。选择要烧写的镜像，点击“Write”进行烧写。

  烧写完后把 SD 卡插入树莓派即可运行。 树莓派raspbian系统pi 用户密码默认为raspberry ；root 权限密码为raspb...]]></description><category></category></item></channel></rss>