自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (7)
  • 收藏
  • 关注

原创 定时器输入捕获/外部输入计数边缘滤波问题

STM32定时器输入捕获边缘滤波问题

2022-11-01 08:52:44 321 1

原创 STM32 ADC初始化问题

代码】STM32 ADC初始化问题。

2022-08-12 15:32:36 1049

原创 调试问题集

1、STM32F4外部晶振只支持4-25M,如果用40M晶,配置外部晶振,会导致单片机工作不正常,程序卡死在SystemClock_Config初始化时钟函数里,而且如果不断电重新上电,就算程序改为使用内部时钟,也无法配置成功,只有断电后才能修改时钟配置。2、HAL库的有一些DMA初始化会放在外设初始化后面,导致外设的DMA工作不正常,需要手动将DMA初始化放在最前面。3、HAL库的串口相关函数有lock和unclok函数,需要手动注释掉,否则可能会导致串口收发冲突,产生bug。4、TLV563

2022-02-22 13:44:43 1105 2

原创 STM32芯片VDD、VDDA和VREF的关系

今天碰到一个48pin stm32F103CBT6芯片,AD参考电压输入引脚的问题。通过cubemx查看引脚,发现没有VREF引脚,只有VDD 和VDDA电压输入;通过查资料和手册,才知道,对于引脚比较少的芯片,VREF没有连接到外部,而是在内部和VDDA相连了;本来想着,那给VDDA输入2.5V,VREF就是我们一般想要的2.5V AD参考电压了,实际却不是这样的。通过进一步看官方手册,发现对于VDD和VDDA有严格限制,要求它们必须连接在一起,且电压差最大为300mV。所以VDDA必须

2021-12-17 15:47:15 9595

原创 CBUEMX STM32G4系列定时器计数方向变化中断及输出配置

STM32G4系列的定时器计数方向,会记录在TIMx_CR1寄存器的DIR bit,可以通过查询去读该寄存器,或者使能中断,每次计数方向改变都会产生中断,并且支持将该bit位的值直接输出到外部IO上。在做正交解调QEC等功能都时候比较有用。下面是用CUBEMX将换向信号输出到io上的配置:调用HAL_TIM_OC_Start(&htim1,TIM_CHANNEL_3)即可配置换向中断,使能TIM1_TRG_COM_TIM17_IRQn,调用__HAL_TIM_ENABLE_IT(&am

2021-12-06 15:37:27 318

原创 CUBEMX STM32 L4定时器正交解调模式配置简要说明

正交解调模式用于判断两路方波相对位置,在cubemx中的配置如下图说明:1、调用HAL_TIM_Encoder_Start_IT开启2、开启后定时器自动计数,两路输入的每个上升或者下降沿都会计数,即一个周期计数4,如果t1比t2先,计数加,否则计数减,可以减到负值3、中断触发是由上面的配置的极性决定的,不管有没有配置中断,不影响计数,可以修改中断回调函数HAL_TIM_IC_CaptureCallback4、可以随时通过__HAL_TIM_GetCounter读取计数的值...

2021-10-27 16:30:46 372

原创 CUBEMX STM32L4系列内部flash读写

1、使用的芯片flash是256k,地址从0x08000000开始,到0x08040000,做测试用,从0x08030000开始。写之前必须要擦除那一整页,才能成功写入数据。每页2k,地址偏移0x30000,即第96页,具体配置如下图

2021-10-27 16:12:54 941

原创 keil program size含义

Code:局部变量中初始化了的RO_data:全局加了const的变量RW_data:全局变量,static变量不论有没有初始化(默认初始化为0)ZI_data:局部未初始化变量注意字节对齐,stm32是四字节对齐

2021-08-19 14:10:47 220

原创 ZYNQ运行petalinux相关配置流程梳理

1、在vivado下创建ZYNQ处理器模块,使能需要的外设,串口、spi、网口、sd卡、usb等接口,暂时不需要PL端的逻辑,没有生产bit文件(注意电平和速度的配置);2、导出硬件到SDK,取出我们需要的system.hdf文件,该文件描述了自定义的硬件参数,可作为定制petalinux的硬件文件3、虚拟机搭建:创建好虚拟机,并保证能连上网,创建共享目录,方便和windows移动文件,安装编译内核需要的一系列依赖;4、在linux系统中先安装petalinux,petalinux-v2015.4-f

2021-06-17 20:00:25 745

原创 编译内核出现的问题

1、下载特定版本的内核代码apt-cache search linux-source //搜索内核版本apt-get install linux-source-2.6.22 //下载特定版本内核源码2、下载到/usr/src/目录,解压下载的版本的压缩包tar -cjf images.tar.bz23、sudo make oldconfig&&make prepare&&make scripts 编译内核出现问题:1、权限不足:将源码文

2021-05-07 23:24:15 308

原创 简单的linux驱动开发,自动注册/dev/xxx和自动分配主分区号

驱动源码#include <linux/init.h> //定义了module_init#include <linux/module.h> //最基本的头文件,其中定义了MODULE_LICENSE这一类宏#include <linux/fs.h>#include <linux/device.h> // file_operations结构体定义在该头文件中static const char* devName = "first_dr

2021-04-25 20:36:55 200

原创 linux用户态对文件操作相关函数

最近需要使用open函数的O_DIRECT参数,直接操作磁盘,而不是读写IO缓存,犯了一些小错误,记录一下:O_DIRECT参数使用的地方比较少,比较小众,需要的包含的头文件和特殊的宏定义#include<unistd.h>#include<sys/stat.h>//O_DIRECT#define__USE_GNU1#include<fcntl.h>#include<sys/types.h>打开或者创...

2021-03-31 18:06:39 199

原创 linux 用户态与内核态通信方式

1、系统调用 -- 最常用的方式,一般是用户态通过系统调用函数访问内核态空间2、netlink -- 本质上是socket,可以用于内核与多种用户进程之间的消息传递系统3、procfs(/proc/)-- 在该目录下,有各种内核和进程信息,并且是实时刷新的,读取的时候才调用函数查询(只读)4、sysctl(/proc/sys)-- sysctl命令,在内核运行过程中,动态修改内核参数(可读写)5、sysfs(/sys)-- 从procfs中独立出来的设备和驱动,不仅可以从内核空间读取设备和驱

2021-03-26 14:22:50 937

原创 linux进程间通信--消息、信号量、共享内存

创建消息通信的基本步骤:1、(key = ftok(/usr1/test/filename,'z')),基于文件,创建唯一的key,文件名要存在2、根据唯一的key值,创造消息队列msqid = msgget(key, IPC_CREAT|0777),得到消息id3、配置消息,并调用发生函数发送消息 msg.mtype = 999; // 客户端接收的消息类型 sprintf(msg.mtext, "hello, I'm server %d", getpid()); ...

2021-03-25 11:57:02 106

原创 STM32实现复位的三种常用方式

STM32实现复位的三种常用方式问题:最近做项目碰到单片机程序运行过程中,需要根据外部输入信号,对单片机进行复位的操作。解决:目前常用的复位方式有硬件复位和两种软件复位:1、硬件复位通过给NRST引脚输入低电平复位单片机,但是本项目硬件连接已经固定,硬件复位无法实现;2、软件看门狗复位,该方法用得比较多,在防止单片机运行卡死等情况下有不错的效果,但是复位有一定的延时,需要等待计数时间;3...

2020-01-03 09:36:30 15528

原创 树莓派4B摄像头使用入门、遇到的问题及解决

树莓派4B摄像头使用入门、遇到的问题及解决1、测试摄像头是否正常,终端下输入raspistill -o Desktop/image.jpg,如果正常,会在桌面出现一个照片;如果出错,确认camera功能是否enable,方法:sudo raspi-config选择5,按enter然后选择第一个,enter后选择使能摄像头,保存后重启。2、重启后再次运行raspistill -o Deskt...

2019-12-23 22:09:33 12001 2

原创 使用Python的PyCharm将.py文件转化为可执行文件.exe

**使用Python的PyCharm将.py文件转化为可执行文件.exe1、需要安装pyinstaller库,安装方法为在cmd中运行pip install pyinstaller;2、可以在PyCharm的Terminal终端中再运行一遍pip install pyinstaller,将包导入Pycharm;3、如果已经打开工程,并且待转换的.py文件在该工程目录下,在Terminal终...

2019-12-10 17:44:13 2132

ug1028-sdsoc-intro-tutorial.pdf

基于zynq快速开发的SDX软件的简单入门教程,官方文档

2021-05-31

基于CubeMX的FreeRTOS教程

详细介绍了怎么基于arm新的开发工具CUbeMX建立代码架构,并实现FreeRTOS实时操作系统的移植和开发。

2020-03-13

GUTN_Function2_DulEth.rar

利用ZYNQ的PS端移植LWIP,实现千兆以太网通信,协议位UDP,代码在ZedBoard上验证,从网络调试助手发送数据后,原样返回。可基于此代码实现各种以太网通信功能。

2020-03-13

cubemx_IIC_TX_RX.rar

最近需要做一个硬件IIC从机接收的项目,但是查了资料,发现网上几乎没有相关的具体介绍和参考代码,就自己基于cubemx的HAL库调了一套硬件IIC主发从收的代码,IIC主是基于STM32F433RC开发板,IIC从是基于STM32F103VGT平台,测试通信正常。

2020-01-03

win7 32/64位USB Blaster驱动

quartus直接下载程序的USB Blaster驱动,支持win7 64位和32位..............................................................

2019-01-08

Vivado2018.2自定义IP核源码及教程

使用Vivado2018.2自定义IP,附上源码及教程,有详细的配置过程。。

2018-10-15

ZedBoard u-boot源码

最新的u-boot源码。

2018-10-10

空空如也

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

TA关注的人

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