自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32 HAL库的中断接收HAL_UART_Receive_IT 怎么用

因为HAL库都封装好了,如果想用中断接收,不能在中断里直接读RXD寄存器。第一步,初始化时使能串口中断MX_USART2_UART_Init(); if (HAL_UART_Init(&huart2) != HAL_OK) HAL_UART_MspInit(huart); ...... HAL_NVIC_SetPriority(USART2_IRQn, 0, 0); HAL_NVIC_EnableIRQ

2021-11-12 16:33:13 24639 5

原创 stm32自定义printf,使用DMA打印

1、初始化的时候初始化DMA和DMA发送完成中断,串口中断我用的是STM32G031G8U6,所以用的是串口2,为什么要串口中断。是因为DMA发送完成中断的回调函数UART_DMATransmitCplt,已经在底层定义好。并不是定义为弱函数给用户重新定义。在DMA发送完成中断中,会触发串口发送完成中断TC, 串口发送完成中断的回调函数是给用户用的2、定义一个全局变量用来指示DMA发送完成,初值为1表示发送完成并且包含stdarg.h 文件3、定义myprintfint myprintf

2020-12-21 09:32:28 4158 4

原创 LSM6DS3,SO, SPI

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...

2020-12-19 23:45:56 5449 11

原创 入门RT-thread ENV

一、安装软件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, 选择下...

2020-12-01 00:08:04 1572

原创 RT-thread nano

1、与 RT-Thread 完整版不同的是,Nano 不含 Scons 构建系统,不需要 Kconfig 以及 Env 配置工具,也去除了完整版特有的 device 框架和组件,仅是一个纯净的内核。2、特点易裁剪:Nano 的配置文件为 rtconfig.h,该文件中列出了内核中的所有宏定义,有些默认没有打开,如需使用,打开即可。具体的配置可见 Nano 版块的 RT-Thread Nano 配置 教程。易添加 FinSH 组件:FinSH 组件 可以很方便的在 Nano 上进行移植,而不再依赖 d

2020-11-17 23:45:22 1861

原创 学习笔记(01):AI 大师课之线上技术峰会-机器学习中的图算法以及在图数库上的应用案例分析...

百万人学AI 系列活动之AI大师课,包含技术公开课,在线峰会等活动,邀请业界专家通过在线直播的形式,让开发者们一站式学习了解当下AI的前沿技术研究、核心技术与应用以及企业案例的实践经验。课程涉及“专家分享+互动问答+群内讨论”等多元方式,与AI学习者/开发者共同交流与成长。参与「AI大师课·线上峰会」活动,还可获得「2020AI开发者万人大会」299元免费参会码一个,报名成功后,免费码会通过短信方...

2020-05-23 16:03:49 147

原创 python批量修改文件名

今天从抖音上下载了很多个小视频,名字太长,找了个程序把它改成1,2,3…import ospath ="C:/Users/Administrator/Desktop/english learning/"filename_list = os.listdir(path)a = 0for i in filename_list: used_name = path + filenam...

2020-04-25 17:04:09 143

原创 STM32怎么利用串口空闲中断进行DMA接收

一、在底层中初始化DMA接收和串口中断void MX_USART1_UART_Init(void) HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)     HAL_UART_MspInit(UART_HandleTypeDef* uartHan...

2020-04-09 10:19:49 965

原创 移植正点的printf

  远程仓一、用STM32CubeMX生成基本MDK工程  生成工程时,需要使能三个中断和2个初始化,中断优先级要大于51、DMA接收中断2、DMA发送中断3、串口中断4、初始化一个二值信号量uart2_busy, 只有等到该信号量时,才能使用串口。使用串口DMA发送,在发送完中断中,释放该信号量。定义一个消息队列,txQueue, 需要发送的atkp_t类型数据包先发送到这个队列里...

2020-04-09 09:55:52 346

原创 dialog SmartSnippets_Studio和SmartSnippets_Toolbox入门

如果已经安装,这里选择安装的路径

2020-03-30 16:45:45 3882 1

原创 艾克姆 蓝牙nRF52832上册-学习笔记

一 、硬件IK-52832DK开发板兼容官方nRF52DK(PCA10040)xxAA: 512K 片内Flash, 64KRAMxxAB: 256k 片内Flash,32KRAM二、开发设备硬件设备1、开发板2、JLINK 仿真和下载程序3、JTAG-SWD转换板4、IK-52Dongle 抓包或主机控制面板配套使用,可以捕获和分析BLE数据包,帮助理解...

2020-03-28 16:06:52 2796

原创 STM32F103C8T6 ADC

https://blog.csdn.net/apple_2333/article/details/96962574

2020-03-19 14:41:30 17388

原创 RT-thread自动初始化

远程仓输入段和输出段  输入段、输出段是相对link过程来说的。我们写的.C文件编译后生成目标文件.o,这些.o文件由一段一段代码组成,对于link来说,这些是输入段。link过程把这些段重新编排顺序,成生elf或binary文件烧写到flash中,这两种文件也是由段组成,这些段为输出段。__attribute__的section属性只指定对象的输入段,它并不能影响所指定对象最终会放在可执行...

2019-12-16 09:08:00 1395 1

原创 RT-thread 启动main()

一、MDK的$Super$$ and $Sub$$  在mdk的官网上http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0377g/pge1362065967698.html有这么一段介绍,大致意思:  在无法修改现有符号的情况下,可以使用一些特殊的标识来修补。例如现在的符号已经烧录在外部ROM中了或是别人封装好的库,...

2019-12-12 22:06:21 1810

原创 STM32CubeMX工程中加入RT_thread

  远程仓1、在STM32CubeMX中正常生成MDK工程2、MDK官下载RealThread 软件包,并安装3、MDK工程中删除…it.c文件4、加入rt_thead内核5、main.c中加入头文件6、rtconfig.h中配置内存管理...

2019-12-07 11:29:07 3473 1

原创 HAL_I2C_Mem_Write与HAL_I2C_Master_Transmit

功能:在阻塞模式下将大量数据写入特定的内存地址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)参数...

2019-11-25 18:28:17 40478 7

原创 git学习笔记2

10、远程仓库  实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。  完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓...

2019-11-20 23:47:16 262

原创 git 学习笔记1

https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304  其实就是给本地仓库添加一个远程仓库,1 、创建一个目录  什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在...

2019-11-20 20:52:09 317

原创 把本地仓存在码云上

1、生成公钥打开git bash, 输入如下指令,会提示在某个目录生成一公钥$ ssh-keygen -t rsa -C "[email protected]"把 id_rsa.pub 打开复制密钥到码云上2、在码云上建立仓库3、把本地仓关联到远程仓$ git remote add origin https://gitee.com/luffy84/huawei-ak7375-...

2019-11-15 13:41:21 144

原创 树莓派入门1

一、装系统  把镜像文件 (系统) 通过windows电脑烧到SD卡上,插入树莓派。1、先用SDFormatter.exe软件格式化 SD 卡。2、用Win32DiskImager.exe烧写镜像。选择要烧写的镜像,点击“Write”进行烧写。  烧写完后把 SD 卡插入树莓派即可运行。 树莓派raspbian系统pi 用户密码默认为raspberry ;root 权限密码为raspb...

2019-11-13 21:37:58 454

原创 python 给IDLE添加行号

1、下载LineNumbers.py到 http://idlex.sourceforge.net/extensions.html下载,也可以网上下载2、解压3、把linenumbers.py复制到IDEL目录下4、配置config-extensions.def文件在末尾添加以下内容5、修入linenumber.py内容用idle打开linenumber.py,作以下修改...

2019-11-01 10:25:10 2833 6

原创 STM32 串口DMA,非中断发送,接收。

DMA有几个通道,每个通道都有一组寄存器,下面就以串口发送通道来解释初始化:主要设置CCR寄存器1、数据传输方向2、循环模式------是否循环操作3、外设地址增量4、内存地址增量5、外设数据宽度 8位,16位还是32位6、内存地址宽度7、通道优先级8、是否是 存储器到存储器------复位后为0,表示外设与存储器通信,所以HAL这位不设置对应的hal库代码 /...

2019-09-18 15:40:01 2174

原创 正点原子MiniFly V1.2学习笔记七---configParamTask

  第6个任务,优先级1,最低优先级。配置参数任务 xTaskCreate(configParamTask, "CONFIG_TASK", 150, NULL, 1, NULL);一、全局参数configParam1、参数定义  参数configParam前面没有static, 它是一个全局变量。有h文件中定义为外部变量,然后其它文件只要包含该h文件,就可以使用该变量。2、什么地...

2019-07-31 19:27:42 1006 2

原创 STM32F10X PWM没有输出

一、使用方法  之前已经有一个工程,想增加PWM功能。于是STM32CubeMX生成PWM程序,然后把生成的初始化程序复制到原来的工程中。  在新生成的工程中,有PWM输出,复制到老的工程没有输出。二、现象1、没有PWM输出到IO脚2、软件仿真发现时钟没走,如下图:三、原因所在没有开时钟以前作为定时器使用时,有msp.c中也有以下重定义...

2019-07-19 23:35:10 1942

原创 正点原子MiniFly V1.2学习笔记六---stabilizerTask

  这集学习第8个任务sensorsTask,2,3,6,7任务后面再学,先学重要的。 xTaskCreate(sensorsTask, "SENSORS", 450, NULL, 4, NULL); //传感器处理任务一、任务函数void sensorsTask(void *param){ sensorsInit(); //-------1初始化传感器 vTaskDelay(15...

2019-07-16 13:20:31 1459 5

原创 STM32 FreeRTOS的osThreadDef创建任务

一、osThreadDef是一个宏定义#define osThreadDef(name, thread, priority, instances, stacksz) \const osThreadDef_t os_thread_def_##name = { #name, (thread), (priority), (instances), (stacksz) }所以osThread...

2019-07-10 14:27:37 24607 1

原创 正点原子MiniFly V1.2学习笔记五---sensorsTask

  这集学习第8个任务sensorsTask,2,3,6,7任务后面再学,先学重要的。 xTaskCreate(sensorsTask, "SENSORS", 450, NULL, 4, NULL); //传感器处理任务一、任务函数void sensorsTask(void *param){ sensorsInit(); //-------1初始化传感器 vTaskDelay(15...

2019-07-05 17:49:40 1098 1

原创 FreeRTOS死机原因

1、中断回调函数中没有使用中断级API (xxFromISR) 函数xSemaphoreGiveFromISR(uart_busy,&HighterTask);----正确xSemaphoreGive(uart_busy);-----错误2、比configMAX_SYSCALL_INTERRUPT_PRIORITY优先级高的中断函数中使用了FreeRTOS的函数3、临界代码保护...

2019-07-05 14:46:30 12823 2

原创 正点原子MiniFly V1.2学习笔记四---txQueue队列数据哪来

  一、执行串口指令任务

2019-06-27 09:56:46 1522

原创 正点原子MiniFly V1.2学习笔记三---atkpRxAnlTask

  第5个任务xTaskCreate(atkpRxAnlTask, "ATKP_RX_ANL", 300, NULL, 6, NULL);上面第1个任务,把串口接收到的数据解包后得到指令,然后把指令发送到队列rxQueue里了,该任务就是从队列里取指令,然后分析处理。一、执行串口指令任务void atkpRxAnlTask(void *param){ atkp_t p; while(...

2019-06-26 18:14:35 1580

原创 正点原子MiniFly V1.2学习笔记二---radiolinkTask

  第1个任务radiolinkTask 处理串口接收到的数据包,把命令提取出来。一、数据包格式  一条指令,包含 功能ID 和数据。功能ID–就是接收方用来区别需要做什么事,数据 --指令中需要的数据。另外,为了区别指令的开始位置,要在开始加上 帧头,为了保证接收正确,还要在最后加上一个校验,如果接收方发现校验错了,就把该指令丢弃。  在atkp.h中:1、宏定义,定义帧头,功能ID 等...

2019-06-25 11:11:54 1919 6

原创 正点原子MiniFly V1.2学习笔记一

之前看过原子哥的FreeRTOS开发手册,但是对整个项目 怎么架构还不是很清楚。由于最近工作需要,所以决定通过MiniFly来学习一下FreeRTOS的架构。int main() { systemInit(); /*底层硬件初始化*/ xTaskCreate(startTask, "START_TASK", 300, NULL, 2, &startTaskHandle); /...

2019-06-24 16:53:04 3288

转载 C语言--enum,typedef enum 枚举类型详解

转载:https://www.cnblogs.com/yaowen/p/4785342.htmlC语言详解 - 枚举类型注:以下全部代码的执行环境为VC++ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#define WED 3#define THU 4#de...

2019-06-21 13:34:40 7877

原创 python的快速傅里叶变换

FFT原理 原理目前还未搞懂FFT程序安装以下这几个库,(cmd下输入pip install matplotlib)import numpy as npfrom scipy.fftpack import fft,ifftimport matplotlib.pyplot as pltimport seaborn1、生成一个0到1的等差序列 列表,用来表示X轴,即采样点。还有另一个...

2019-06-18 21:10:11 2964

原创 笔记2--每天30分钟学Python--小象学院

8.1random模块• 常用函数函数含义random()生成一个(0, 1.0)之间的随机浮点数uniform(a, b)生成一个a到b之间的随机浮点数randint(a, b)生成一个a到b之间的随机整数choice()从列表中随机返回一个元素shuffle()将列表中元素随机打乱sample(, k)从指定列表中随机获取k个元...

2019-06-01 19:14:11 763

转载 总算有人讲明白了什么是特性阻抗什么是阻抗匹配

转载:http://rf.eefocus.com/module/forum/thread-610391-1-1.html人认识事物总是有一个过程,一般都是从具体到抽象。认识特性阻抗也是一样的,在我们认识特性阻抗之前,先认识跟特性阻抗比较相关的一个物理量—电阻。电阻是一个实实在在的物理元器件,通过欧姆定律我们可以知道,电压、电流和电阻三者之间的关系,U=I*R我们通过一个具体的电路来分析这三者...

2019-05-28 15:45:20 3867

转载 CAD画正弦曲线

参考:https://jingyan.baidu.com/article/f7ff0bfc28d4002e26bb13ab.html1、在EXCEL中生成 曲线的XY坐标2、复制X,Y坐标,到CAD中。输入PL 或L 命令,然后在 "指点起点:"后面粘贴复制的XY坐标...

2019-05-28 09:53:20 6944

原创 笔记1--每天30分钟学Python--小象学院

下载地址

2019-05-24 22:58:58 2388

原创 GreenPAK入门2 真正的呼吸灯

上次写的“入门实践”,只能实现占空比慢慢变大,用来控制LED的话,LED的电流如下图:相当于呼吸灯的只能呼,不能吸。即使加个反相门,也是吸, 不能呼。多少有点遗憾,今天把这遗憾补上,实现下图的输出:https://blog.csdn.net/liangbin414/article/details/89370813...

2019-05-20 16:14:33 905

转载 输入信号偏置电压不确定,要变成输出确定偏置电压的信号

参考:https://tech.hqew.com/fangan_1575551输入信号IN是一个带有未知偏置的信号,并且偏置电压是不断变化的。电路不能采用AC耦合电容,需要把输出信号 添加一个固定偏置DC电压。1、R1调节输出偏置电压2、根据运放虚短 IC1A的 2脚电压等于3脚,因为没有电流,所以输出7脚静态电压也等于2脚3、5脚的静态电压会 自动调节,以便适应输出信号IN4、电路正...

2019-05-15 10:52:29 1948

TPA311x音频功放POP噪声分析及控制

功放POP音解决,功放开关机过程中容易产生POP音频,解决方法是先使功能静音,待系统达到稳定状态后再把静音关了

2019-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除