- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 openplc Linux 使用modbus RTU 从机通讯
左边添加串口配置,右边是需要通讯的地址,从机地址都是从100开始,100以内是主机使用。Holding Registers - Write (%QW100):16位数据,保持寄存器,主机写从机。3.2 修改modbus-edit-device编辑页面,1271行,也是一样,直接屏蔽,手动添加。IW100 主机16bit只读从机,QW100 主机16bit写从机,QW101主机16bit写从机。如下:添加 QX100.0 主机bit写从机,IX100.0 主机bit读从机。2.添加设备,分配地址。
2024-04-19 18:40:16
855
原创 openplc Linux 地址映射io,读写驱动数据等使用记录
qx00 = psm.get_var("QX0.0") 读取QX0.0的寄存器值,在openplc_editor中定义变量设置QX0.0 = 1,就可以qx00 = psm.get_var("QX0.0")读的值就是1。psm.set_var("IX0.0", int(var_str)) 先读取gpio10的电平值,然后赋值给 %IX0.0 寄存器,上层代码读 %IX0.0就能 得到 gpio10的电平值。qw00 = psm.get_var("QW0")读QW0的值,16位INT,设置DAC的输出值。
2024-04-03 16:38:50
1342
原创 libusb Qt使用记录
3. 在 Qt Widgets Application 或者 Qt Console Application 工程中导入库,Qt 使用的是 minggw 64编译器,所以选择libusb-MinGW-x64。Zadig是一个安装通用USB驱动程序的Windows应用程序,诸如WinUSB,libusb-win32/libusb0.sys,libusbK,可以帮助你快速的使用USB设备。4. 驱动转换,把libusb驱动转换成Windows的WinUSB驱动。1.libusb 下载 ,选择编译好的二进制文件,
2024-04-01 18:40:30
979
原创 openPLC_Editor C语言编程 在mp157 arm板上调用io等使用记录
{ } 内属于C语言环境,可以定义C语言的变量,数据类型,还是跟C语言编程方式一样。{ }外属于 结构化文本ST 的环境,只能用ST的编程写法。如区域3的 if then end_if;
2024-03-29 15:10:07
1251
原创 OpenPLC_Editor 在Ubuntu 虚拟机安装记录
1. OpenPLC_Editor在虚拟机上费劲的装了一遍,有些东西已经忘了,主要还是python3 的缺失库版本对应问题,OpenPLC_Editor使用python3编译的,虚拟机的Ubuntu 18.4 有2.7和3.6两个版本,所以需要注意。5.主要是运行./openplc_editor时报错,各种库缺失,因为有交互界面,需要装一些界面框架库。在源码文件夹里搜索找到:stdio.in.h 这个文件。5.4 可能报错 gtk库缺失,界面相关框架的库。6. 总体都是库的问题,具体看报错,搜相关内容。
2024-03-28 16:13:03
1159
原创 openPLC runtime 在mp157 armhf架构 安装记录
2.安装pip,是用来下载库的指令,相当于LInux 的apt指令。python2和python3是独立的,所以安装pip分为pip2,pip3,比如 sudo apt install python3-pip 安装pip3,。5.因为python版本的问题,安装一些库时,还需要注意库的支持版本,比如上面 markupdafe 库在 python3.6 下 只能安装 1.1.1 左右版本。所以上传的程序不需要放到开发板上,比如用虚拟机上开发的程序,直接用浏览器打开web,在虚拟机上选择文件即可。
2024-03-26 18:17:29
880
原创 openPLC armhf架构 Ubuntu根文件系统制作过程记录
1.3 DNS 配置文件/etc/resolv.conf。1.4 制作文件系统挂载脚本ch-mount.sh。3.配置网口自动dhcp并开启eth0问题。使用时把https 改成 http。4.清华 armhf 架构软件源地址。1. ubuntu 根文件系统下载。1.6 跟换源 清华 port 源。2.配置串口,解决登录输入无效问题。使用时把https 改成 http。1.9 设置本机名称和IP地址。1.2 安装qemu模拟器。1.7 下载所需软件包。1.5 挂载文件系统。5.U盘挂载修复问题。
2024-03-25 09:53:42
665
原创 Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)
opencv在cmake的时候有两个问题,ippicv长时间卡住下载失败,ffmpeg不会卡住但是也不会配置成功。所以这两个包只能手动下载安装。
2023-08-26 14:08:56
954
原创 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录
如上,是报错 libQt5XcbQpa.so.5 这个库文件找不到,文件夹下一起确实没有,就需要去Qt安装目录 /opt/Qt5.12.2/5.12.2/gcc_64/lib下 复制出来放到文件夹下。5.camera同级目录下新建名称为platforms的文件夹,运行Qt程序还需要 xcb的库,需要去Qt安装目录 /opt/Qt5.12.2/5.12.2/gcc_64/plugins/platforms 里面的 libqxcb.so 拷贝到 platforms文件夹下。1.打包所有关联库用的是脚本程序。
2023-07-22 15:44:18
693
原创 Linux 安装 Qt问题(新建工程只有.pro)
.在Ubuntu安装了Qt,但是新建工程只有.pro文件,而且显示没有配置编译器。打开kits编译器前面是有一个三角黄色警告图标,这说明没有检测到编译器,这个就是没有g++问题。sudo apt-get install g++
2023-03-10 16:42:45
1456
1
原创 vm打开虚拟机蓝屏问题
最近换了win11,还是装的vm15,只要打开虚拟机就蓝屏包括装镜像都会蓝屏,vm15直接就不能用了。然后换了vm16就没问题了,有条件的装最新的vm17是跟随支持win11的。在win10上用的vm15打开虚拟机没问题,有时候虚拟机识别到USB设备如果点击弹窗确定会硬件错误蓝屏。
2023-03-10 16:19:13
805
原创 windows Qt 关于WebEngine Html地图开发问题(MSVC编译器版本问题,Html打开空白问题)
使用WebEngine加载本地Html时有一个问题,直接加载网站随便一个网页(比如百度地图)是没问题的,但是加载自己的开发地图html时,打开是空白。HTML的框架能加载但是获取不到百度地图的JS主脚本。
2023-03-10 16:03:23
974
4
原创 stm32,js407 使用smsja1000 CAN独立控制器
国产化项目需要调试国产单片机 js407 和国产CAN独立控制器 smsja1000。js407完全适配stm32f407,可直接下载stm32f407的代码。smsja1000完全适配sja1000,可直接替换。以下使用默认模式BasicCAN,不支持扩展帧模式。总体来说,和stm32的CAN控制器一样,需要配置一些寄存器,模式,中断,波特率,屏蔽码等。需要注意哪些寄存器是在复...
2022-05-20 19:02:13
2291
4
原创 stm32 4线SPI方式驱动CH452A数码管驱动芯片
stm32 采用的是4线SPI方式连接。操作命令是12位的数据,采用的是io模拟的方式驱动。试过使用硬件SPI驱动,但是命令只支持12位,硬件SPI发送的是8位或者16位,是驱动不起来的。 常用指令如下,/* CH451和CH452的常用命令码 */#define CH452_NOP 0x0000 // 空操作#define CH452_RESET 0x0201 // 复位#defin...
2022-05-20 16:15:53
2873
原创 stm32F4 调试 sr8201f 软件复位不过和ping不通问题解决
1.软件复位不成功问题。原因是PA1没有输入时钟。sr8201f 默认TXC 时钟输出50M 接MCU的 PA1,可以不用外部50M晶振。如果要使用需要CLK_CTL拉高。2.ping不通。原因是stm eth库 判断速度寄存器问题。#define PHY_SR ((uint16_t)PHY_BCR) /*!< PHY status register Offset */#def
2022-05-06 11:10:47
3361
3
原创 Qt 使用Visa库与数字仪器仪表TCP/IP通信(SCPI指令自动化测试)
标准数字仪器仪表可通过 GPIB, RS232, USB, LAN接口等与上位机数据通信和控制。如示波器、数字万用表、频率计、台式电源等。通过SCPI协议(字符串形式)与设备通信,串口,USB等接口可以直接用字符串通信,但是LAN通信不同于一般TCP/UDP用ip和端口通信,需要用Visa协议栈通信。Qt开发时只需要把visa动态库和头文件导入即可。以普源的数字万用表DM3068为例,使用LAN口通信:根据官方编程文档,通信协议如下:查询当前测量直流电压值发送字符串“:MEASure:VOLTa
2022-03-15 17:11:17
17370
6
原创 Ht7038 三相电能计量芯片 测量6路电流。
芯片上电之后默认使能校表数据写操作和计量数据读操作,也就是芯片配置写操作和数据读操作。也就是0xC9和0xC6的功能码。SPI写0xC9(1字节),数据 = 0x00005A(3字节)是开启写校表寄存器。SPI写0xC9(1字节),数据 ≠ 0x00005A(3字节)比如0x00005F,是关闭写校表寄存器。SPI写0xC6(1字节),数据 = 0x00005A(3字节)是开启读校表寄存器。SPI写0...
2022-01-22 17:10:29
6597
1
原创 GD32450 boot程序跳转app卡死问题解决。
现象:boot程序能正确获取app地址,执行跳转函数调试打断点能跳转。也能跳到app,但是在app的SystemInit()->system_clock_config()->system_clock_200m_8m_hxtal()红色框等待HXTAL稳定卡死。解决:如红色框,app程序的systeminit( )添加分频。...
2021-12-22 16:40:38
2098
原创 TPC116S8 DAC芯片
TPC116S8/TPC112S8三线串行接口兼容MICROWIRE、SPI、QSPI和DSP。该接口提供三个输入:SCLK、SYNC和DIN。芯片选择输入(SYNC)线拉低时通过DIN加载串行数据。在芯片选择输入高到低转换之后,数据被同步移动并锁存到串行时钟输入(SCLK)的每个下降沿上的输入寄存器中。每个串行字对于TPC112S8是16位的,对于TPC116S8是24位的。前3位是控制位,接着是1个下电位以及TPC112S8的12个数据位(MSB优先)和TPC116S8的22个...
2021-12-13 13:51:43
3297
1
原创 74HC595 切换开关
74HC595 切换开关io:LCK(SH_CP) -> PB3 数据输入时钟线。SCK(ST_CP) -> PB4 输出存储器锁存时钟线。DATA_IN(DS) -> PB5 串行数据输入。Q0~Q7 连接电流电压切换开关,在测量电流时需要设置为1,测量电压电阻时需要设置0。如上图,右边一片的输出连接到左边的一片,但是LCK和SCK共线,也就是设置右一输出之后还需要设置左一的输出。void HC595_Init(uint8_t HL){ui...
2021-12-11 15:59:08
676
原创 Qt can消息字符串转16进制0x发送
/* 发送can消息*1.从界面获取id和数据字符串*2.转换成16进制发送*/void MainWindow::on_canmsgsend_pushButton_clicked(){ if(ui->canmsgID_linedit->text().isEmpty() || ui->canmsg_lenedit->text().isEmpty()) { ui->cansendNotice_lable->setStyleSheet.
2021-12-09 10:33:06
3055
原创 gd32f103 调试 ad7606
使用的是spi接线方式,需要注意DB7数据线也就是MISO,接一根就行,也不需要给ad7606发数据。而且最重要的是DB15需要接地,是串口并口选择线,会影响数据的稳定性。用cubemx生成stm32的工程然后用GD的库编译,生成时可以选择/* SPI1 init function */void MX_SPI1_Init(void){ hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Dire...
2021-10-29 19:45:19
1199
原创 keil 工程生成bin文件时需要reBuild而不是build...
由于cubemx生成的工程没有添加bin文件生成的指令,所以在使用中途添加的,就是习惯性点击build编译,总是报错,用reBuild重新编译即可。直接在添加fromelf.exe --bin --output $L@L.bin $L@L.axf ,不需要管fromelf.exe的路径,keil环境配置好会自动识别。如果不行就手动选路径。...
2021-10-29 19:17:13
551
原创 2020-12-17
void sendStartMag(void){ u8 msgs[] = {0xFE, 0xF2, 0x01, 0xFF};//????? sendUsartMessage(msgs, 4);}u8 msgp[] = {0xFE, 0xF2, 0x02, 0xFF};void sendStopMag(void){ sendUsartMessage(msgp, 4);}
2020-12-17 21:01:05
97
原创 emwin 部分汉字编译时错误解决办法。
编译时中文乱码错误。1.如果都编译错误,肯定是文件编码不对,改成UTF-8。2.如果只是部分汉字编译报错,如下修改,c/c++ =》Misc Controls 添加“--locale=english”。
2020-12-08 18:36:52
979
原创 FreeRTOS + FAT 文件读写代码
#include "fat_file.h"#include <string.h>#include "ff_stdio.h"#include "ff_sddisk.h"#include "stm32f4xx_hal_sd.h"#define mainSD_CARD_DISK_NAME "/"#define mainSD_CARD_TESTING_DIRECTORY "/fattest"#define fsRAM_BUFFER_SIZE ...
2020-06-24 11:59:33
3171
1
原创 stm32F407 + FreeRTOS + FAT 文件系统移植
FreeRTOS 版本:FreeRTOSv10.2.1HAL 版本: Keil.STM32F4xx_DFP_HAL.2.13.0版本无所谓,只是记录下。文件目录 :FreeRTOSv10.2.1_191129\FreeRTOS-Labs\Source\FreeRTOS-Plus-FAT 整个拷贝到工程。所需C文件:1.上图 ff_xx.c, (ff_locking.org 删除不需要)。 2.\portable\common\ff_ramdisk.c。3.\portable\S...
2020-06-19 18:32:13
6229
2
原创 FreeRTOSFATConfig.h FAT 配置文件
/**FreeRTOS+FAT is an open source,*thread aware and scalable FAT12/FAT16/FAT32 DOS/Windows compatible embedded FAT file system which was recently acquired by Real Time Engineers ltd.*for use with and without the RTOS.*FreeRTOS+FAT is already used in ..
2020-06-19 16:39:10
1271
原创 Stm32F407 FreeRTOS+TCP 移植
FreeRTOS 版本:FreeRTOSv10.2.1HAL 版本: Keil.STM32F4xx_DFP_HAL.2.13.0版本无所谓,只是记录下,FreeRTOS 10.0之后会多实现一个网络序列化回调函数。FreeRTOSv10.2.1 TCP 文件目录官方使用手册:https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Pl...
2020-05-07 15:07:35
5679
2
原创 FreeRTOS +TCP TCPServer 服务器
开启任务创建套接字,绑定服务器地址,监听套接字,循环接收监听,当都客户端连接成功,开启任务循环处理接收客户端发送过来的数据。1.创建套接字,xListeningSocket = FreeRTOS_socket( FREERTOS_AF_INET, FREERTOS_SOCK_STREAM, FREERTOS_IPPROTO_TCP );2.设置连接超时,FreeRTOS_setsockop...
2020-05-07 14:13:51
2218
3
原创 FreeRTOS+TCP TCPClient客户端
TCPClient客户端/* FreeRTOS includes. */#include "FreeRTOS.h"#include "task.h"#include "queue.h"/* FreeRTOS+TCP includes. */#include "FreeRTOS_IP.h"#include "FreeRTOS_Sockets.h"#include "TCPCl...
2020-05-07 12:59:14
1482
原创 FreeRTOS+TCP FreeRTOSIPConfig.h 配置头文件
FreeRTOSIPConfig.h#ifndef FREERTOS_IP_CONFIG_H#define FREERTOS_IP_CONFIG_H #ifdef __cplusplusextern "C" {#endif #include "FreeRTOS.h" /* Define the byte order of the target MCU (the MCU F...
2020-05-07 11:16:10
2248
原创 FreeRTOS+TCP 回调函数实现 C文件
NetWorkConfig.c/* Standard includes. */#include <stdint.h>#include <stdio.h>#include <stdlib.h>/* FreeRTOS includes. */#include "FreeRTOS.h"#include "task.h"#include "queu...
2020-05-07 11:10:59
1227
1
原创 error: “HAL_StatusTypeDef” is undefined
移植FreeRTOS TCP 、FAT 出现的问题,还是记录一下。问题:stm32 HAL 库 编译出现error: #20: identifier “HAL_StatusTypeDef” is undefined 相关错误。现象:HAL_StatusTypeDef能跳转到定义的文件,多个库文件报错。是修改的或添加的C文件添加头文件问题。需要添加#include "stm32f...
2020-04-27 14:10:58
3472
2
FreeRTOS-TCP移植 10.2.rar
2020-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人