- 博客(68)
- 资源 (5)
- 收藏
- 关注
原创 UltraScale+ 如何在多重引导的情况下为 SPIx8 配置生成 mcs文件
UltraScale+ 如何在多重引导的情况下为 SPIx8 配置生成 mcs文件
2023-03-08 19:30:00
546
2
原创 FPGA UltraScale+ 利用ICAP原语实现Multiboot功能
FPGA UltraScale+ 利用ICAP原语实现Multiboot功能
2023-03-08 14:58:07
1075
原创 tar C/C++解析问题
写在前面如何解析各位大神已经写了很多,请参考别的答案。我这边谈一些我遇到的问题。帧头校验问题struct posix_tar_header{ char name[100]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char chksum[8]; char typeflag; char linkname[100]; c
2021-10-27 13:33:52
279
1
原创 STM32 IAP升级问题
问题:IAP程序跳转到APP程序,APP初始化卡死。解决:IAP程序跳转前将外设时钟恢复为禁止状态。__HAL_RCC_TIM14_CLK_DISABLE();跳转代码:typedef __IO uint32_t vu32;typedef void (*iapfun)(void); //定义一个函数类型的参数. iapfun jump2app; #define APPLICATION_START_ADDRESS ((uint32_t)0x08010000)//APP文件的起
2021-10-20 17:38:40
293
原创 STM32擦除Flash失败
stm32 Flash擦除错误环境:keil5,stm32f4,rtthread3.15.现象:擦除flash总是失败。经过jlink调试发现PGPERR位总是1,经过一番折腾,在st社区找到答案。链接:https://community.st.com/s/question/0D50X00009XkWriSAF/stm32f407-flash-programming-error-pgserr-and-pgperr原因:我在代码某个任务里有更新看门狗,而实际上我没有初始化看门狗。...
2021-08-21 09:56:51
5089
6
原创 2021-06-15 STM32CubeMX使用心得
1.user labeluser label 好使。会在代码中生成相关的宏定义。2、生成的相关设计配置3.NVIC
2021-07-26 21:01:03
607
原创 单片机启动不成功问题
问题stm32在调试的时候没有问题,断电重启后程序不运行,接上串口模块后,重启电程序运行。原因程序使用RTT实时系统,串口使用C++类。程序是先使能了串口中断,然后new 串口类 因为串口上电有干扰,使能后进入串口中断,此时就溢出了。解决先new 串口类,再使能串口中断。...
2021-07-26 20:53:19
1854
原创 Keil MDK报错:Browse information of one or more files is not available
Keil编译提示Browse information of one or more files is not available。以下是解决方法:方法一:1.点击魔术棒2.在Output界面中勾选Browse Information选项,再点击OK3.最后再重新编译方法二:把相对应的文件重新写一遍,删掉相对应的文件,再把重新写的添加进去,重新编译。方法三:出现这种情况可能是因为代码使用的C99方式的代码。这里只需要打开魔术棒,点C/C++,将C99mode勾上就行了。具体如图:方法四:
2021-06-30 14:31:22
3134
2
原创 QT的软件及工具下载
QT的Visual Studio全版本集成插件官方下载地址http://download.qt.io/development_releases/vsaddin/
2021-03-03 22:46:36
395
1
原创 C#如何改变DataTable中的数据值
1、尝试这个方法,运行后不行。dt.Rows[1].ItemArray[3] = “VALUE”;2、解决方案:dt.Rows[1][3] = “VALUE”;
2020-12-29 19:43:35
5475
原创 C# BackgroundWorker使用
查询了一下MSDN文档,其中微软就BackgroundWorker类的功能有这么一个描述(英文的,根据个人理解翻译):BackgroundWorker类允许您在单独的线程上执行某个可能导致用户界面(UI)停止响应的耗时操作(比如文件下载数据库事务等),并且想要一个响应式的UI来反应当前耗时操作的进度。可以看的出来,BackgroundWorker组件提供了一种执行异步操作(后台线程)的同时,并且还能妥妥的显示操作进度的解决方案。于是乎,我便深入的了解了一下BackgroundWorker类。针对Back.
2020-12-19 19:17:03
236
1
原创 C#中的Dictionary字典类
原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的 键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 通过一个键读取一个值的时间是接近O(1) 键值对...
2020-12-19 19:12:43
555
1
原创 PWM相位差
#include "tim.h"#include "stm32f10x.h"void TIM3_Config(uint16_t pre,uint16_t arr){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); //这个函数就在一开始的时候使用切记 TIM_DeInit(TIM3); //TIM TIM
2020-12-19 19:09:12
2161
原创 STM32 重映射后如何恢复成普通模式
STM32 重映射后如何恢复成普通模式 GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, DISABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE); //AFIO复用功能模块时钟 切记:一定是先清除管脚,后清除时钟。非常重要!remap一定要在时钟使能之后配置,否则无效...
2020-12-19 19:08:51
634
原创 keil5仿真错误:Encountered an improper argument 原因及解决办法
现象:仿真结束,退出仿真时报错。无法正常关闭keil软件,只能通过任务管理器强制结束进程关闭。解决办法:清除所有断点再关闭。
2020-12-19 19:08:34
5164
2
原创 C#解析json
1、第三方dll下载Newtonsoft.Json。https://www.newtonsoft.com/json引用带C#工程中。2、用第三方网站生成C#类https://www.json.cn/3、代码using System.Collections.Generic; using System.IO; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Data; using System.Reflect
2020-12-19 19:08:02
1038
原创 Directory.GetCurrentDirectory和Application.StartupPath的区别
System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录。System.Windows.Forms.Application.StartupPath 获得应用程序的可执行文件的路径,不含文件名StartupPath 可执行文件固定就不会变,可用于定位GetCurrentDirectory 不一定是可执行文件所在目录,因启动的位置而变如有两个程序 C:/A/a.exe 和 C:/B/b.exe当在 a.exe 中启动 b.exe,System.
2020-09-24 19:50:56
636
原创 PWM互补输出问题
PWM互补输出问题1、PWM互补输出通道上电有一个短暂的高电平。需要干掉解决方式:TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;//指定空闲状态下的TIM互补输出比较的引脚状态。
2020-06-18 12:43:51
3597
1
原创 陌生板子或者模块调试
陌生板子或者模块调试:1、测试电源电压。2、测试板子的阻抗有没短路。3、加电时慢慢加,比如额定电压是12V,先加2V,测试各个节点的电压。然后慢慢升压,再测试。防止个别器件损坏,烧坏板子。...
2020-06-18 12:43:19
330
原创 STM32F103C8T6的TIM1的CH1、CH2、CH3三路互补PWM实现四路PWM两两输出
STM32F103C8T6的TIM1的CH1、CH2、CH3三路互补PWM实现四路PWM两两输出需求:1、当第一第二组输出的时候,三四组不输出。2、当三四组输出的时候,第一第二组不输出。3、STM32F103C8T6的TIM1只有三组互补输出。需要把ch2交替使用。具体电路图如下1、当ch1和ch2输出的时候。A0和A1设置为模拟输入模式,避免影响ch2的电平。A4和A5设置为输出模式,输出低电平。避免第三组有输出。2、当ch2和ch3输出的时候。A4和A4设置为模拟输入模式,避免影响ch2的
2020-06-18 12:40:59
7624
1
原创 dsPIC33EP的硬件CRC校验
#define POLYLEN 0x000F // Length of polynomial-1"#define POLY 0x1021 // Generator Polynomial// *****************************************************************************// *************************************************************************
2020-06-09 18:43:34
522
原创 CRC-16校验
#define uint32_t unsigned int#define uint16_t unsigned int#define uint8_t unsigned char/** * @brief 计算byte校验 * @param CRC CRC值 * @param Byte 要检验的byte * @retval CRC值 */uint16_t CRC_Byte(uint16_t CRC,uint8_t Byte){ CRC=(uint16_t)(
2020-06-09 18:37:32
915
原创 数据倒序
uint32_t CRC_ReverseValue(uint32_t crc,uint32_t Len){ uint32_t mask; uint32_t reverse; //数据长度 uint32_t polyWidth=Len; mask = 1; mask <<= (polyWidth - 1); reverse = 0; while(crc) { if(crc & 0x01)
2020-06-09 18:31:29
770
原创 串口调试问题
1、现象labview写的上位机,给下位机发指令,不能正常工作。收数据确实正常的。用串口调试工具发指令,工作正常。用虚拟串口工具,用labview软件发指令是正确的。2、解决过程下位机调试运行发现只收到一半数据。用示波器看labview下发的数据,数据只有一半。3、原因labview写的上位机,在发送串口数据后,然后关闭串口。这就会导致硬件数据还没传完,就把串口关闭了。这也解释了用虚拟串口调试,数据正常的。因为虚拟串口是软件模拟的,不会经过底层硬件。所以传输速度很快。4、解决方案1、发送完数据
2020-06-09 13:29:49
578
1
转载 三行按键扫描
新型的按键扫描程序不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出
2020-06-01 17:55:57
837
2
原创 LRC校验
unsigned char LRC(unsigned char* data, int data_len){ unsigned char lrc = 0; for (int i = 0; i < data_len; i++) { lrc ^= data[i]; //printf("%02X\n",lrc); } return lrc;}
2020-06-01 17:53:55
4966
原创 c# 如何让textbox 只能输入十六进制
string s= "0123456789ABCDEF".IndexOf(char.ToUpper(e.KeyChar)) < 0
2020-06-01 17:52:58
3016
1
原创 串口通信异常
1、串口通信异常问题现象:上位机下发数据正常。下位机上传数据异常。解决过程:用示波器看发送端,有数据正常。示波器表笔接到上位机的发送端。就没有数据上传了。原因:查看设计图纸,硬件设计,TX和RX的限流电阻用的是10K。取消电阻后通信正常。解决:更换限流电阻100R。...
2020-06-01 17:52:24
4670
原创 PIC单片机的DMA和ADC
1、DMA{ DMA0CON= 0x
2020-05-29 19:32:16
1667
原创 按键 C语言接口
#include "key.h"/*************************************************** 按键参数声明***************************************************/struct KEY_Parameter KEY_Data[KEY_MaxNum];/*************************************************** 按键短暂按下执行(功能1)注:对
2020-05-12 19:02:27
764
原创 C#调用Matlab引擎详细方法以及注意事项
一、添加dll二、直接运行Matlab语句 MLApp.MLApp matlab = null; Type matlabAppType = System.Type.GetTypeFromProgID("Matlab.Application"); matlab = System.Activator.CreateInstance(matla...
2020-04-20 20:14:03
2048
2
原创 c# DataTable获取某个列的集合
获取第一列数据集合dt是DataTable var Array = from DataRow dr in dt.Rows select dr[0];
2020-04-11 16:52:23
4744
原创 C# WinForm 设置DataGridView选中指定行
int rowIndex=3;//指定行号 this.dgvInGoodsInfo.Rows[rowIndex].Selected = true;this.dgvInGoodsInfo.CurrentCell = this.dgvInGoodsInfo.Rows[rowIndex].Cells[2];也有其他网友代码Cells[0]; 如下:我试了 ,填0和1调试报...
2020-04-10 20:43:47
5508
原创 W5200调试总结
1、代码是移植的W5200官方的代码,应该是没问题问题的。程序下载后,连接电脑,电脑的网络显示未连接,ping也无响应。2、Debug发现程序在printf的时候死机,是没有print重写的原因。3、不知道问题是软件问题还是硬件问题,准备在淘宝上买一个W5200验证下软件程序,淘宝卖家岁月声响,人很赞,还把他的代码给我参考,帮我们看出谋划策,手动点赞笔芯。岁月声响给的建议:① 芯片地下pa...
2020-03-25 20:52:52
1099
原创 如何提高FLASH的擦写次数
在实际应用中,用户经常需要在程序运行过程中保存或读取一些数据,这些数据在工作中经常会变化,而且掉电后也不能丢失,所以需要及时地进行存储,存储这些数据常用的存储器是EEPROM。HXM6002虽然本身不带EEPROM,但是它支持自编程技术,可以利用FLASH来模拟EEPROM,这样不仅简化了设计,而且降低了成本。一般情况下,FLASH都是以2的n次方为一页,在执行擦除指令时,一次最少要擦除一页的数...
2020-03-25 20:51:48
7463
2
ASPOSEdll.rar
2019-12-10
ddvue.ocx+DDVue_Manual.pdf
2019-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人