自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (8)
  • 收藏
  • 关注

原创 2020-07-30

STM32 FreeRTOS下读取HX711HX711读取数据时时钟周期只有几十微秒,直接在线程中调用例程中的没法实现,因此考虑将数据口设置为输入中断模式,时钟口用定时器PWM发送脉冲,在定时器中断中取每个bit的数据。具体方法如下:设置外部中断下降沿触发当单片机外部中断发生时,先关闭外部中断等待数据口变高电平打开定时器PWM,产生25个脉冲在定时器中断中读取数据口状态,并按位赋值到变量,当发送到最后一个脉冲时,关闭PWM. 打开外部中断发送消息给OSOS处理消息这样一个读取周期完成

2020-07-30 16:45:20 201

原创 SQL LocalDB 2016 存在BUG

最近用WPF写一个软件,需要用到数据库,以前我一般用Access数据库,这次考虑到以后软件可能要做网络版,所以尝试用SQL LocalDB。我先写了一个测试程序后,Debug运行正常。然后做安装打包,结果发现打包后在干净的Win10下安装后无法运行。经过各种折腾,终于早到问题,总结如下: 需要安装SQLLocalDB 2016,注意版本V13.2.5026.0可能有BUG,安装后命令行无法正常操作,根本无法使用,我最后安装的是V13.0.1601.5版本,安装后要在命令行做以下操作:1、...

2020-07-28 00:20:09 336

原创 STM32f429 CubeMx FreeRTOS emWin (Cubemx有BUG)

之前裸机emWin成功了,接下来尝试CubeMx FreeRTOS emWin,又遇到三个坑。先说第一个坑:我直接再之前裸机的工程上增加FreeRTOS,结果生成程序后,编译报一大堆错误,分析了一下错误实在是无从下手,因此怀疑CubeMx有问题,因此我就将Keil工程文件夹全部删除,再重新生成。再次编译情况好转,但是还是不少错误。这是第二个坑!第二个坑:CubeMx配置FreeRT...

2019-06-29 12:54:37 4344 1

原创 STM32f429 CubeMx LTDC SDRAM emWin 程序进入 硬件错误中断(UsageFault_Handler)

最近网上买了一套野火挑战者STM32F429开发板,配的是800X480的电容屏,尝试emWin开发。拿到板后我先从官方提供的例程中选了几个试了一下,感觉确实用emWin做人机界面很不错。可惜例程用的是STM的标准库,我一直以来一直在用CubeMx+Keil开发STM32,所以就开始尝试把例程移植到Hal库。先用CubeMx配置SDRAM、LTDC等等,并把驱动一一改为Hal库的程序,逐一测试通过...

2019-06-27 21:00:41 4284 3

原创 第三个实验例子:FreeRTOS USART DMA 空闲中断接收 队列

第三个实验例子:FreeRTOS USART DMA 空闲中断接收 队列上一篇是串口中断接收数据,然后通过消息队列转发。它实现的方法是每收到一个字节发送一次,这个做法用在串口转发数据上实时性还是不错的,但是在平时多数的串口应用中更多的是需要实际通讯。往往是单片机接收一帧数据,根据通讯协议实现某些功能,然后再回答。为此我尝试采用通过采用DMA方式,利用空闲中断来接收一帧数据,然后发送数据到队列,...

2019-04-10 10:53:07 6028 3

原创 STM32 FreeRTOS 第二个实验例子:串口转发(单字节转发)

第二个实验例子:串口转发(单字节转发)目的:通过队列实现Usart1接收数据,由Usart2转发出去Step1:串口声明串口接收缓存,并添加串口回调函数usart.h : /* USER CODE BEGIN Private defines */ #define UART_BUF_SIZE 1 //缓冲长度为 1 extern uint...

2019-04-09 11:26:10 5138

原创 STM32 FreeRTOS 第一个实验例子:LED闪灯(任务队列)

软件环境:IDE Keil5+CubeMx5.1硬件环境:STM32F103ZE吐槽一下:CubeMx我最早用的是4.2版本,后来开始使用5.0.1版本,结果发现如果工程路径中有中文在生成代码时就会报错,而且在打开和保存文件时可以看到所有中文文件夹都无法正常显示,没办法只能把有关路径都改为英文。今天在网上看到有5.1版本了,可以支持中文了,赶紧下载并安装。运行后点击File-&g...

2019-04-05 15:08:14 5095

原创 常用的数据类型转换

最近做stm32项目用到一些数据的转换,现贴出来,大家一起讨论:void float2str(float val, unsigned char Decimal, char *buf){ char fmt[]="%.3f"; fmt[2]=Decimal+0x30; sprintf(buf, fmt, val);}void IntToStr(int dat,char *buf)...

2018-10-25 11:44:17 1564

原创 STM32的串口空闲中断接收不定长数据

最近想尝试STM32 通过DMA收发数据,网上找了不少参考文章,最后参考https://blog.csdn.net/youmeichifan/article/details/51750435?utm_source=dlogxgwz2 博文中的方法。按照此文的方法实现了串口的收发,但是实际使用中发现:接收空闲中断的产生是在数据接收停止一个字节时产生的,但是有时由于上位机编写问题或硬件问题(本...

2018-10-25 11:10:34 6207 3

原创 单片机float转字符串

/*val:输入的浮点值Decimal:小数保留位数 *buf:输出字符串的指针*/void float2str(float val, uint8_t Decimal, char *buf){ char fmt[]="%.3f"; fmt[2]=Decimal+0x30; sprintf(buf, fmt, val); return buf;} ...

2018-10-23 15:19:05 4341

原创 STM32F103 CubeMX I2C

最近在做一个项目,由于实时性要求高所以想把串口通讯、I2C、SIP都通过DMA来完成。先用CubeMx配置后生成工程,然后做串口DMA收发测试程序一切顺利,接下来搞了一天I2C,总是在不成功,逻辑分析仪上SDA、SCL只看到有一个脉冲,断点调试发现死锁在while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);几乎放弃。后来...

2018-06-06 09:50:12 4359

原创 VB6.0中如何把数组存如数据库中

这几天在做一个数据采集的上位机软件,设想把采集的数据存入数据库(每次采样1000个数据)。网上找了一下没有很好的答案,今天花了点时间做了个试验程序,代码如下:(调试通过) '先在Access表中建一个字段类型为OLE的字段    Dim adoConn As New ADODB.Connection    Dim ListRS As New ADODB.Recordset

2011-12-29 00:09:06 4185 3

原创 K型热电偶转换函数(VB代码)

在做温度控制时都会遇到热电偶电势转换到温度、温度转换到电势,如果查表编程比较麻烦。我根据热电偶的正函数和反函数编了2个转换函数,个人认为比较方便,而且网上也很少有热电偶的正函数和反函数的资料,所以我show给大家看看,也许各位会用到。这2个函数是针对K型热电偶的。注:之前的VtoTemp()函数没有包含负电压的转换,而且还有错误,现在已经做了修改。'温度转换为电压值Private Fu

2011-08-06 09:25:54 2346 3

原创 提高VB6.0处理图像的速度的方法

通常我们都觉得VB6.0在处理图像的能力方面表现很差,一般很少有它来做图像处理。如果把图像先装入数组,再做各种运算,最后将图像显示到图像控件,速度还是比较快的。以下是我用imagxpress控件配合此方法的代码:模块'Imagx是自定义变量类型Public Type ImageX    ImageArray() As ByteEnd Type'将imagxpress控件中的图像写入数组Function GetImage(imageOBJ As ImagXpress) As ImageX      Dim P

2011-05-18 22:13:00 1134

原创 Proteus与Keil联调方法

今天忙了一上午,终于把Proteus与Keil联调搞定了,在网上找了很多Proteus与Keil联调方法,最后发现下面的方法又清晰又简单。1.安装Proteus.2.安装Keil.3.运行“vdmagdi.exe” ,安装完毕;(网上可以下载到)4.运行"ISIS 7 Professional"菜单"Debug(调试)",选中"Use Remote Debug Monitor(使用远程调试监控)";(好多人写的方法漏了这一步,我就是犯的这个错。如果漏了此步,Keil会出现"Failed to connect

2010-12-03 20:59:00 9342 5

原创 vb.net md5加密字符串

一下是我编程时,网上复制的,调试时发觉和我以前VB6的输出结果有出入,我做了一点修改。    Public Function MD5(ByVal StrSource As String, ByVal Code As Int16) As String        '这里用的是ascii编码密码原文,如果要用汉字做密码,可以用UnicodeEncoding,但会与ASP中的MD5函数不兼容        Dim DataToHash As Byte() = (New System.Text.ASCIIEnco

2010-10-17 19:18:00 1101

STM32 Modbus 模块

原创程序,在STM32F103系统中正常使用 1、在主函数while(1)中添加:checkComm0Modbus(); 2、程序中: UsartSendData_DMA函数是我写的串口发送函数,可以根据自己的实际情况修改 void UsartSendData_DMA(UART_HandleTypeDef *huart,uint8_t *pdata, uint16_t Length) 3、这个modbus模块我在smt32f103rb系统中已实际采用

2018-10-25

C#写的图像填充类

原以为图像填色,写了才发现有点麻烦的。网上代码也不多。现将我写的分享个大家。

2013-04-24

VB API 编程声明函数时注意使用ByVal和ByRef.doc

VB API 编程声明函数时注意使用ByVal和ByRef

2011-10-05

SUDT AccessPort PC机串口(RS232)调试、监控的软件

特点: 1).监控串口:具有端口监控功能,可以监控、拦截、保存所收发的数据(NT/2K/XP)。 2).串口调试:支持常用的串口操作功能,支持大数据量的收发、保存,支持自动发送。 3).动态变参:在不改变当前所打开端口的情况下,能动态改变端口参数(如:波特率、校验位、流控制等)。 4).双模编辑:数据发送区内嵌十六进制编辑器(类似UltraEdit),支持十六进制<=>文本双模式切换编辑,支持unicode。 5).国际版本:国际版,支持多国语言。 6).无需安装:界面友好,方便易用。

2011-05-15

二进制文件查看器,用于分析二进制文件结构

用于分析二进制文件,写软件时经常用到,我主要用它来分析二进制文件结构

2011-05-15

Pegasus ImagXpress (2)

这是第2个包,好控件一起学习,最好多交流。我有时间会在我的空间写一些心得。

2011-04-16

PegasusImagXpress (1)

很好的控件,建议大家多学习。共有2个包。

2011-04-16

空空如也

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

TA关注的人

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