自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (10)
  • 收藏
  • 关注

原创 DAPLink V2 & STLink V2 & JLink V9.7 & 串口四合一仿真调试下载器

该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB HUB、CPLD芯片,集成了DAPLink V2 & STLink V2 & JLink V9.7 & CDC虚拟串口/USB转串口四合一功能,硬件匹配选择的调试器并自动切换输出信号,无需重复更换固件和调试器,真正做到一机多用。

2023-10-11 00:37:27 1303 4

原创 基于C语言简易读取CSV文件

基于c语言简单读取CSV文件,格式为逗号分隔

2022-03-18 19:03:47 3682 1

原创 解决Win11安装Keil芯片包失败/软件卡死/无法解压的问题

前言一般我们直接双击Keil芯片包后就可以打开安装了,或者通过Keil-Pack Installer-Import界面进行导入安装,当这两种方法都失败后,则需要手动解压芯片包并将文件复制到对应目录下。手动安装1、点击打开Keil Pack Download下载网页2、下载对应芯片包资源3、将下载下来的芯片包资源后缀名由".pack"改为".zip’并解压,如下图所示4、打开Keil安装路径,所在目录-ARM-packs-keil,在此文件夹下新建名为"XXXX_DFP"的文件夹(名称为你要添加

2022-01-13 17:27:12 11979 16

原创 探究STM32G0串口(LL库)接收中断一直触发的原因

单片机型号:STM32G030C8T6在初始化完串口后,开启串口接收中断,程序就一直在执行串口中断(此时串口无任何数据),通过在线查看串口外设的相关寄存器(如下图)发现RDR寄存器一直没有被清零,导致ISR寄存器的RXNE位一直有效,串口中断就一直处于触发的状态。通过查看STM32G0x0 Datasheet章节 26.8.10 Bit5 RXNE位,数据收据里面说到可以通过读取RDR寄存器或者往RXFRQ寄存器写1来清除ISR寄存器的RXNE标志位。LL库串口初始化及中断接收代码如下:void

2021-09-02 23:15:52 3771

原创 分析STM32G0 SPI外设不能触发RXNE接收标志的原因

今天准备移植STM32F030R8T6的程序到STM32G030C8T6上,程序中用到了硬件SPI外设,因为STM32G0用的HAL+LL库而不是不是标准库,所以我用STM32Cube MX生成了SPI的LL库代码,但是使能SPI后发现硬件怎么都不能触发RXNE接收标志,生成代码如下:void MX_SPI1_Init(void){ /* USER CODE BEGIN SPI1_Init 0 */ /* USER CODE END SPI1_Init 0 */ LL_SPI_Init

2021-06-07 21:17:34 1570 9

原创 解决CONFIG -= console命令不能关闭QT打包程序运行后弹出CMD命令窗口的问题

参考链接 @https://stackoverflow.com/questions/760323/why-does-my-qt-4-5-app-open-a-console-window-under-windowsQT版本:5.12现象:QT在Debug或者Release模式下运行程序不会出现CMD命令窗口,但是经过Enigma Virtual Box打包成一个.exe程序后,运行时会伴随一个cmd窗口,而且还不能关闭。解决方法:在.pro工程配置文件添加以下语句,clean后再重建工程,重新打包程序

2021-05-21 22:35:30 833

原创 IAR和KEIL防止编译器优化未使用的变量或者函数以及变量地址的绝对定位

IAR:__root带有__root属性的函数或者变量,只要包含(include)他们的模块,无论是否被引用,编译器都不会优化,都将保留到目标代码中。示例:__root const u32 temp @0x9F00 = 0x12345678;注意:const表示的是常量类型,将temp这个只读变量保存到flash中,@0x9F00则代表的是flash的地址。KEIL:attribute((used))__attribute__((used)) //不知道为什么,文章不显示"__",

2021-04-16 17:47:18 4305

原创 STM32 ADC DMA数据不稳定的解决方案

参考文章:ADC 采样数据抖动STM32 ADC 采样值不准确 情况分析及解决办法在项目开发中,经常需要用到ADC采样的做电压检测,而且多通道ADC检测的情况比较多,所以本篇基于此要求采用了ADC DMA的方法,下面先给出基础代码(STM32F030)!#define ADC1_DR_Address 0x40012440//对应需要检测的ADC通道个数#define ADC_DMA_BUFFER_SIZE 2//按照通道顺序依次存放得到的ADC值__IO ui

2021-03-05 20:25:31 9786 3

原创 C51与MDK合并共用

C51安装包官方下载地址:https://www.keil.com/demo/eval/c51.htmMDK安装包官方下载地址:https://www.keil.com/demo/eval/arm.htm1、先安装C51程序2、安装完成后,先复制以下内容到桌面3、先卸载C51程序,并手动删除安装路径下的keil_v5文件夹(一般会自动删除)4、安装MDK软件(同步骤1)5、拷贝红色框框的文件到新安装的MDK目录下6、打开C51 TOOLS.INI文件,并复制里面全部内容

2021-02-26 22:22:34 293

原创 KEIL AStyle工具用法

1、打开KEIL-Tools-Customize Tools MEnu2、点击虚线正方形框框(New Insert)- 命名当前命令(可以写成“格式化当前代码”)3、给当前命令配置对应的命令行格式化当前代码:Command :AStyle.exe所在路径(绝对路径) 例如:C:\Keil_v5\tools\AStyle.exeInitial :不用填,空着Arguments:-n !E --style=linux -S -p -U --indent=spaces=4 --ind

2021-02-26 21:09:57 2022

原创 Quarters II报Verilog语法near text “ã“; expecting a direction错误

参考链接:Quartus 11进行编译Compile Design的时候出现错误near text ã博主在编译代码时,遇到编译器报这个错误,定位到该错误点后,并没有发现明显的代码错误,屏蔽这三条语句编译器又可以正常编译,截图如下:通过Tools-Options-Text Editor-Show White Space(显示空格字符),可以看到后面空白的地方并不是正真的空格,就导致编译器报错,删除红色方框内的这些非空格字符后,编译器正常编译程序。至于具体什么原因导致编译器报错,有知道的大神评论留言

2021-01-27 11:45:32 5697 2

原创 解决STM8 IAR优化等级过高导致FLASH块编程失败的问题

STM8块编程的步骤为:1、解锁FLASH权限2、块编程3、上锁FLASH权限Note:如果你不是调用官方库函数对FLASH进行解锁,则要注意顺序,FLASH与EEPROM的解锁顺序是刚好相反的,解锁函数原型如下/** * @brief Unlocks the program or data EEPROM memory * @param FLASH_MemType : Memory type to unlock * This parameter can be a

2021-01-09 12:43:14 1262

原创 解决IAR main函数内能设置断点,但其他地方不能设置断点的问题

1、是否是断点太多?尝试把所有断点都清除掉,然后再运行试试2、优化等级是否开到最高?

2020-12-28 09:19:06 488

原创 解决STM32禁用SWD调试接口后不能下载程序的问题

STM32的PA13(SWDIO)、PA14(SWCLK)这两个引脚为SWD调试接口,因为STM32默认把这两个接口当作了下载接口,所以如果程序中有用到这两个接口的任意一个(比如用来作为普通I/O口),STM32内部运行程序时,该接口就会被屏蔽掉,因此当我们接上SWD下载器下载程序,KEIL会提示无法连接到STM32。解决方法:这其实非常简单,因为STM32在内部运行了程序,所以才导致下载接口被屏蔽了,那我只需要把程序停下来不就好了?是的!!!如下图:STM32运行时,NRST复位引脚需要接高电平,当

2020-11-09 22:39:06 10156 11

转载 MOS管参数-MOS管参数含义说明及详解

文章转自:MOS管参数-MOS管参数含义说明及详解-KIA MOS管地址链接:http://www.kiaic.com/article/detail/1014.htmlMOS管分类说明MOS管参数说明,在使用 MOS 管设计开关电源或者马达驱动电路的时候,一般都要考虑MOS的导通电阻,最大电压等,最大电流等因素。MOS管是FET的一种,可以被制造成增强型或耗尽型,P沟道或N沟道共4种类型,一般主要应用的为增强型的NMOS管和增强型的PMOS管,所以通常提到的就是这两种。这两种增强型MOS管,比较常用的

2020-11-07 13:53:11 9704

原创 Qt进制转换以及十六进制大小写格式输出

quint16 num=0x2abc; qDebug()<<"十进制输出"<<QString("%1").arg(num); qDebug()<<"16进制小写输出"<<QString("%1").arg(num,4,16,QLatin1Char('0')); //不足四位补0 qDebug()<<"16进制大写输出"<<QString("%1").arg(num,4,16,QLatin1Char('0'...

2020-10-10 16:30:22 8215 1

原创 ALTERA CPLD离线烧写方案设计(MCU模拟JTAG)

在含有CPLD芯片的电子产品中,由于代码中的BUG需要升级固件,如果以前的固件内没有离线烧写系统,那么必须要通过专门的烧写工具把固件下载到CPLD中去(如USB Blaster),但这样非常繁琐,而且不方便售后服务,所以代码内集成离线烧写系统的重要性可见一斑。废话不多说,直接进入正题!!!方案一:ALTERA 官方Jam STAPL Byte-Code Player Version 2.2点击官方源码跳转到官方下载页面该方案可移植到DOS、嵌入式(包括STM32等MCU)、windows等平台,采用

2020-10-06 16:36:18 7065 36

原创 STM32写FLASH期间导致中断无法响应的解决思路

思路一:将中断程序或者整个程序放到RAM执行详情参考:解决STM32F0/F1内部FLASH写操作导致中断程序无法响应的问题思路二:让我们回顾下初衷,我们要往FLASH保存数据?显而易见,往FLASH保存数据的根本目的是为了让机器掉电后数据能一直保存,在STM32单片机中,如果频繁往FLASH保存数据,首先程序运行的及时性得不到保障,而且因为频繁擦写FLASH,更容易导致单片机损坏,既然我们的初衷是为了让机器在掉电后也能保存数据,如果写入量不大的情况下,那可以在系统掉电的瞬间立马进入中断,将重要的数据

2020-10-01 07:47:11 6124

原创 STM32F0地址解引用容易出现硬件错误的原因

参考链接:STM32F0非对齐访问引起的硬件错误及其排除先看一小段代码: //vu 等价于__IO(volatile) //代码一 u16 temp=0; temp = *(vu8*)faddr; temp <<=8; temp = *(vu8*)(faddr+1); //代码2 *(vu16*)faddr; 代码一和代码二的功能其实是一样的,都是在指定的faddr地址中取两个字节的数据形成一个16位的无符号整型数据,乍一看这是符合语法规则的,在F1系列的板子上代码都可

2020-09-29 21:17:49 669

原创 KEIL使用malloc函数申请堆空间失败的解决方法

参考链接:keil 下 malloc的使用1、工程内需要包含头文件<stdlib.h>,malloc位于该头文件内2、工程配置勾选使用微库Target-Use MicroLIB特别声明:一般来说以上两个步骤就可以正常使用malloc函数申请堆空间了,但前提是申请的堆空间不能超过启动文件中规定的堆空间大小(Heap_Size),以下用STM32F103ZET6的启动文件说明:variables = (int32_t *) malloc(=0x3F4); //1014字节程序中申请10

2020-09-14 10:47:40 2286 1

原创 解决STM32F0/F1内部FLASH写操作导致中断程序无法响应的问题

参考链接:STM32F10x单片机Flash写操作导致中断不响应问题最近本人在写STM32F0系列的FLASH写操作的代码时突然发现一个问题,MCU往内部FLASH写入数据的过程中,中断程序是无法响应的,若此时发生中断,MCU是不能跳转到相应的中断程序上去的。官方手册《STM32F10xxx闪存编程手册.en》Page11描述如下:MCU在执行内部flash写操作时,又必须响应中断,这要怎么办?其实MCU执行的代码一般是放在FLASH地址上,MCU运行代码又必须向FLASH读取代码,但是向内部FL

2020-09-07 21:27:05 7659 4

原创 keil把程序在RAM中运行及sct连接脚本警告和错误的一些方法

KEIL中如何程序在 RAM 中运行keil中解决sct连接脚本告警和错误的一些方法事例代码工程下载链接

2020-08-20 14:34:18 616

原创 FPGA Verilog语言寄存器类型移位无反应

最近我在学习FPGA时,写了一个时钟分频程序,想用来产生3种不同频率的时钟,因为我都是写的单片机程序,所以就想着用函数传递形参的方式,从而用模块例化产生不同频率的时钟,但是例化时要求传入常量,所以只能重复例化3次,用rst_n的决定哪个时钟输出。一开始我的想法如下:wire CS8416_OMCK;reg [3:0] div = 4;reg [2:0] cs8416_clk_rst_r = 3'b010; //对应选择哪个频率作为输出先说明,这

2020-07-16 18:09:10 436

原创 stm32f030采用轮询方法采集ADC多通道数据

参考链接:关于STM32F0系列多路ADC单独采样数据相同问题的处理文中博主已经详细说明了采集ADC多通道数据的方法,但是代码有一处BUG,运行时容易造成死循环。查看STM32F030参考手册12.12.8章节ADC 通道选择寄存器 (ADC_CHSELR)代码中涉及配置到CHSELR寄存器前,必须要确保ADC_CR寄存器的位2:ADSTART=0 时 ( 确定无进行中的转换 ) 才允许改写这些位。12.12.3ADC 控制寄存器 (ADC_CR)位 4 ADSTP: ADC 停止转换命令:该

2020-06-09 19:11:40 5910 3

原创 keil将变量地址指定到FLASH的某一位置和不初始化变量

对于单个变量,可以用“at”来定位,如:char code 变量名 at FLASH的地址。数组也可以 如:unsigned char code arr[32] at 0x8010000。

2020-05-30 11:21:12 3128

原创 USB转TTL串口下载器下载STM32程序

连线:开发板----- TTL下载器3.3V -------- 3.3VTXD -------- RXDRXD -------- TXDGND -------- GNDTTL下载器:5V和VCC短接stm32 BOOT引脚设置:BOOT0接1(高电平)BOOT1接0(低电平)mcuisp设置:DTR低电平复位,RTS高电平进BootLoader...

2020-04-13 23:02:48 2753

原创 Qt 子窗口(控件)如何全屏显示和退出全屏显示

首先感谢CSDN的“望那伊人”博主,他在https://blog.csdn.net/u012611644/article/details/90671364写得已经很清楚很明了了,我主要说明QLabel子窗口在全屏显示模式下按键事件不能接收的解决方法。QLabel是不能直接发送像鼠标单击、双击等信号的,因为它并没有这些信号解决方法:1、覆写虚函数bool eventFilter(QObject...

2020-04-12 20:03:50 1795 1

原创 Qt程序下mplayer在slave从模式下命令发送和接收输出数据问题

mplayer命令使用方法:mplayer [options] filename**注:设置系统环境变量后,才可以在任意路径启动mplayer **下面直接说Qt程序下mplayer在slave从模式的命令发送:-slave命令: 表示mplayer 启动从模式 ,不受终端控制台控制,也不在截获键盘事件,只能通过程序给mplayer发送控制命令,而且每个命令必须以\n区分,不然mpl...

2020-04-11 19:52:50 985

原创 Linux下创建应用快捷图标

在linux下安装应用,系统不会像Windows那样会自动创建快捷方式图标,启动应用一般要通过终端命令来启动程序,如果要用快捷方式来启动应用并且把图标安置在左边菜单栏,则可以通过以下方式来创建:创建desktop快捷方式文件输入终端命令:gedit Qt5.13.2.desktop(注:想要创建在哪个路径,则加上路径即可,这里默认是home目录下,快捷方式的名字为“Qt5.13.2")配置...

2020-03-10 16:33:34 381

原创 如何在Linux下配置网络

设置ubuntu的IP地址:1、临时设置:(每次关机后会重置)sudo ifconfig ens33 192.168.xx.xx (新版ubuntu)sudo ifconfig eth0 192.168.xx.xx (旧版ubuntu)2、永久设置:(关机后不会重置)sudo vi /etc/network/interfaces,然后按需要复制粘贴以下命令自动获取IP:auto ...

2020-03-10 12:51:14 581

原创 在linux下安装QT 5.13版本及错误解决方法

一、下载安装包网址:http://download.qt.io/archive/qt/选择linux版本二、修改权限:在终端下进入该资源包的目录,在该目录下输入命令:“sudo chmod -R 777 qtopensource-linux-x64-5.13.2.run”三、安装继续输入命令:“sudo ./qt-opensource-linux-x64-5.13.2.run”四、...

2020-03-10 12:36:19 2974

原创 用signal函数捕捉信号SIGINT

用系统调用函数fork( )创建两个子进程,再用系统调用函数signal()让父进程捕捉信号SIGINT(用kill命令来触发),当捕捉到中断信号后,父进程用系统调用函数kill()向两个子进程发出信号,子进程捕捉到父进程发来的信号后,分别输出下列信息后终止:Child process 1 is killed by parent!Child process 2 is killed by p...

2020-01-06 23:12:38 3885 1

原创 用有名管道写一个服务器程序和一个客户机程序

用命名管道分别写一个服务器程序和一个客户机程序,客户机的父进程负责每隔一秒产生一个子进程(形成一个进程扇),而每个子进程则往FIFO写入自己的PID号码。服务器负责从该FIFO中读取数据并将之打印到屏幕上。client客户机:#include <stdio.h>#include <sys/types.h>#include <sys/stat.h&gt...

2020-01-06 23:00:03 841

原创 系统编程2

=============================================================系统编程技术点1、进程的概念、接口函数2、进程间的通信方式3、进程间的信号集4、线程的概念,函数接口,意义5、线程之间的通信6、线程池execl簇函数我们调用fork函数主要目的是调用外部程序功能,在进行外部程序调用时,一般有两种方法:一种是使用system函...

2020-01-05 22:34:43 274

原创 linux系统编程1

=============================================================系统编程技术点1、进程的概念、接口函数2、进程间的通信方式3、进程间的信号集4、线程的概念,函数接口,意义5、线程之间的通信6、线程池进程的概念进程:正在运行的程序程序:hello.c ==> gcc hello.c -o hello (二进制程序)...

2020-01-05 21:37:10 164

原创 在linux字符界面用mmap()函数实现bmp图片的快速刷新

编程思路:1、打开bmp图片获得fd文件描述符(open()函数)2、偏移信息头54字节,lseek()函数3、读取bmp图片BGR(与RGB位置相反)信息4、关闭文件fd5、打开屏幕设备文件/dev/fb0(open(),读写操作)6、映射一块内存地址7、BGR转ARGB,3转4操作,上下颠倒操作8、将ARGB显示数据写到fb0 注意:ubantu字符界面可视分辨率800600,...

2019-10-29 14:12:52 1205 4

原创 在ubantu字符界面显示bmp图片

在ubantu上用c语言实现显示bmp图片编程思路:1、打开bmp图片获得fd文件描述符(open()函数)2、偏移信息头54字节,lseek()函数3、读取bmp图片BGR(与RGB位置相反)信息,采用二维数组bmp_buf[480][800*3]4、关闭文件fd5、打开屏幕设备文件/dev/fb0(open(),读写操作)6、BGR转ARGB,3转4操作,上下颠倒操作7、将AR...

2019-10-28 11:58:31 923 2

Altera CPLD升级官方Demo 移植到STM32F103ZGT6.zip

CPLD离线升级(MCU模拟JTAG时序) 工程基于Altera的the Jam STAPL and Jam源码并成功移植到STM32F103ZGT6,CPLD MAX II和MAX V系列已验证通过,具体请看https://blog.csdn.net/weixin_42518229/article/details/108939242

2021-05-21

Keil UV4 Sublime Molokai Theme V1.0.zip

仿制VS code暗黑配色 编程字体推荐win10自带的Microsoft YaHei Mono 用法:仔细看里面的readme.md文档

2021-02-26

MDK AStyletools.zip

包含如下文件: AStyle.exe DateTime.exe File.c File.h FileComments.exe function.c FunctionComment.exe

2021-02-26

MCU模拟JTAG烧写CPLD固件的文档资料.7z

MCU模拟JTAG烧写CPLD固件的文档资料 方案一:移植 ALTERA 官方Jam STAPL Byte-Code Player Version 2.2 方案二:SVF模拟JTAG编程

2020-10-06

STM32F0 ADC多通道电压检测 掉电检测.zip.zip

STM32F0 ADC-DMA多通道电压检测 掉电检测!

2020-09-07

Diamond 3.9 lisence万能版.zip

3.9版本测试通过,可以使用,版本向下兼容!

2020-08-24

stm32f030r8t6 RAM Code.zip

stm32f0r8t6的程序运行在RAM中的事例工程,解决写往内部lash写数据的过程中,导致中断不响应的问题

2020-08-21

STM32Cube_FW_F4_V1.5.0.zip

KEIL中如何程序在 RAM 中运行的STM32F4系列的事例代码,对应链接中的四个例子,参考里面的例程改动即可

2020-08-20

基于s5p6818的APDS-9960s手势识别模块驱动程序

用程序模拟IIC协议,与手势识别模块进行通信,IIC模拟程序和手势识别驱动代码都已经打包整合成一个驱动程序(iic_drv.ko),安装好驱动后,用户程序只要打开设备文件,然后read就可以得到手势数据

2020-04-09

C8T6-9960_红外手势识别.rar

APDS-9960手势传感器,支持上、下、左、右、远、近六个手势检测,demo支持中断触发和轮询两种方式检测数据,可以通过设置来选择,代码已经完美通过调试,本人大学生一枚,需要用到的朋友可放心下载不需要积分,纯当技术交流。

2020-04-08

空空如也

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

TA关注的人

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