- 博客(89)
- 资源 (5)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
翻译 第一次使用Arduino Nano
Getting Started with the Arduino Nano开始使用Arduino Nano用Arduino网上IDE为Arduino Nano编程用Arduino桌面IDE为Arduino Nano编程打开第一个项目选择板子和端口上载并执行新程序学习更多的桌面IDE教程开始使用Arduino NanoArduino Nano 是一款小巧的,完成的可以使用在面包板的CPU,ATm...
2019-01-12 20:57:38
34650
2
原创 ESP32 Arduino支持RS485流控制并支持串口空闲接收
原来的HardwareSerial库支持串口接收,但不支持RS485的流控,也没有空闲中断可供使用,一般的服务程序需要使用Serial.avaialble()函数来检查串口,获取数据。新的库现在支持RS485流控,并实现类似STM32的空闲中断,可以用来读取不定长串口数据。HardwareSerial现在对ESP32串口提供了更有力的支持,在工程中更好使用了。
2024-06-03 10:25:31
554
原创 STM32CubeIDE串口空闲中断实现不定长数据接收
static void MX_USART1_UART_Init(void)下面,注意,还是要放在用户代码段,这样再重新生成C/C++软件时不会被清除。STM32CubeMX配置MCU。通过对端口配置,自动生成程序,减少编程量。在串口输入不定长数据时,通过串口空闲中断来断帧接收数据。这一部分执行将串口输入的数据回显输出到串口。
2023-12-09 14:04:38
948
原创 STM32duino的Ethernet_STM的Readme文件
STM32duino 编辑STM32F1XX系列单片机,利用库连接W5500以太网芯片
2023-08-24 20:39:45
621
原创 Arduino利用USB接口直接为ESP32-S3下载和调试程序
ESP32-S3使用USB可以直接下载,也可以按照串口一样的输入和输出。一大优势。
2023-03-19 16:25:13
7112
8
原创 ESP32使用I2C数字电阻AD5254做PT100仿真
Arduino库实现数字电阻 实际问题实现电路实际程序感受实际问题在开发数字仿真系统时需要用PT100发生器,这个产品其实也有现成的产品,比如NI公司的PT100发生电路,很贵。查资料看到有I2C控制的数字电位器。用来做PT100数字发生器,实验可行,与大家分享。实现电路采用ESP32控制器按控制系统发送的modbusRTU电阻设置命令给出电阻阻值。抱着侥幸的心理到Arduino库中查找是否有现成的库可以使用,结果还真找到了日本人提供的库,是一个AsukiKono提供的库。可以直接使用来设置和读
2022-05-14 16:41:38
1326
1
原创 Arduino digitalToggle(x)数字量状态输出切换
Arduino digitalToggle函数实现说明说明在STM32编程中有数字输出翻转感觉很好用,命令是:digitalToggle(pin x);在Arduino中没有这个函数,有一天在看其他的程序时发现采用#define就可以方便的实现这个函数,具体做法如下:#define digitalToggle(x) digitalWrite(x, !digitalRead(x))// 在setup中要定义这个输出点为数字输出点。void setup(){ pinMode(LED_BUIL
2022-03-25 10:24:16
1868
2
原创 ESP32 ARDUINO RS485 DE/RE#流向控制编程
ESP32使用ARDUINO 对RS485 的DE/RE#控制概述编程方法方法一方法二总结概述原来一直用74HC04配合SP3485做RS485输出模块,对SP3485模块的DE/RE#端不控制。线路图如下:但这次因为线路板尺寸紧张,并且有多余的点可以控制DE/RE#, 就选择了如下的线路:现在来说一下编程遇到的困惑和解决问题的思路。编程方法方法一当要向外部输出数据数据时,采用delay(10) 的方式,才能让串口的数据输出到外部接口。比如我使用了RX2,TX2作为RS485的输出模块。
2022-03-12 14:15:21
5079
原创 Arduino绕过github下载库文件
Arduino绕过github下载库问题使用Arduino IDE库管理器通过Git安装绕过github下载库文件的方法问题我们在使用Arduino编辑程序时,当使用一些新的库一般都需要在库管理中查找库,然后再通过两种方式下载库。使用Arduino IDE库管理器选择【工具】- 【管理库…】库管理界面出现在这个界面中键入LoRa,再选择要安装的库。通过Git安装另一种方法是通过Git安装。在Arduino IDE中【文件】- 【首选项…]设置的项目文件位置比如是:C:\Users\x
2022-02-04 15:27:05
1373
原创 Beckfoff控制器与伟肯变频器通过CANopen通讯
Beckhoff PLC与VACON变频器通过CANopen通讯CANopen通讯主控设备准备配置分站坑1,多出的RxPDO和TxPDO坑2,TxPDO和RxPDO的COB-ID设置正确的link to变量实现通讯总结CANopen通讯工业上采用CANopen通讯协议进行通讯非常常见。Beckhoff的PLC(其实是基于PC的嵌入式控制器)控制驱动装置来实现位置控制非常方便,而主控制器和变频器之间通过CANopen进行通讯有许多不能替代的优势:现场总线通讯方式,一台主机可以用126个分站抗干扰能力
2022-01-21 14:32:08
1694
1
原创 ESP32 + W5500,用Arduino编程
问题ESP32通过SPI链接W5100和W5500以太网模块时,采用Ethernet库总是出现错误。在ESP32侧作为服务器时编译无法通过,作为客户端可以。从提示上看是其中的Server.h文件出现问题。提示:解决方法打开Server.h文件,按下面修改:class Server: public Print{public: //virtual void begin(uint16_t port=0) =0; modified by CAI at 2021-12-13 vir
2021-12-14 17:15:48
4003
14
原创 ESP32用Arduino编程实现CAN总线通讯
ESP32 Arduino CAN通信库下载硬件连接程序想用ESP32实现CAN通讯,上网查有一篇文章关于ESP32实现CAN通讯的。实验了,可以用,但当CAN的线断开会发生死机,必须是CANH和CANL线保持连接才能正常工作。在库管理器中查找,CAN的库还是挺多的,发现了印度人Sandeep Mistry写的CAN库。前面的文章介绍过这个人写的库,是SX1278的库。说一下这个库的应用过程。库下载在库管理器中找到CAN:从介绍可以看出,这个库可以被ESP32使用。并且不用Microchip的MC
2021-12-11 20:38:58
12047
26
原创 1.5V供电数字百分表的MCU数据读取
1.5V供电百分表数据读取1.5V供电数显百分表1.5V/3.3V电平转换电路效果优点1.5V供电数显百分表原来项目中使用了3V纽扣电池为仪表供电。购买的仪表不支持用MCU系统进行外部供电,外部供电只能显示inch,不能进行单位转换。电池很快就会耗电结束。给用户的体验非常不好。在一个网友的要求下实验了1.5V供电的电子百分表,经过电平转换电路可以方便的实现MCU读取数显百分表。1.5V/3.3V电平转换我们都知道MCU单片机一般是使用3.3V电平,而百分表是使用1.5V的电平。看了示波器的输出信号,
2021-11-02 22:23:44
2053
7
原创 Warning: 用STM32Cube IDE下载程序使STM32芯片无法再次下载
问题买了两个板子,STM32F103C6T6的板子,原来做STM32的喜欢用RT-Thread Studio来做应用,但因为板子ROM小,32kB,RT-Thread标准应用无法下载。选了STM32CubeIDE来做应用软件,结果出现了意想不到的问题:第一次可以正常下载,灯也开始闪亮了。第二次再下载,下载不下去了,显示错误信息如下:Target connection failed. GDBServer will be closed…Restoring target state and closin
2021-09-15 16:02:13
2432
4
原创 codesys runtime的modbusTCP服务器设置
codesys WINRT的modbusTCP服务器我们都知道在以太网上可以使用modbusTCP来进行通讯。以太网通讯需要有服务器和客户端。一般的PLC是在控制器上建立一个服务器器。像上位机及高一层的设备可以连接PLC,然后最常用的是用modbusTCP的功能4读取输入寄存器的内容,用功能3读取保持寄存器的内容。也可以写PLC的内容。但是,在codesys当中的配置和常规的想法不一样,可能造成混淆。codesys建立服务器在控制器侧建立服务器按常规想法是建立一个modbus_TCP_master.
2021-09-01 14:29:06
5026
3
原创 Raspberry Pi的CODESYS PLC控制器
使用树莓派制作一个CODESYS的PLC控制器树莓派上实现控制器1. 安装CodeSys编程环境1.1 下载CODESYS1.2 安装CODESYS开发环境1.3 运行CODESYS开发环境2. 运行CODESYS开发环境2.1 创建项目2.2 编辑程序2.3 编译程序2.4 下载程序3. 运行结果3.1 接口3.2 可视化3.3 支持的现场总线树莓派上实现控制器大家对树莓派都不陌生,可以作为一个微型计算机,使用SSH可以在计算机上编辑,如果有支持HDMI的显示器,有USB鼠标和键盘就可以像一个计算机一
2021-07-04 19:49:29
6874
18
原创 Python tkinter GUI读取MODBUSTCP信息
用Python GUI面板读取MODBUSTCP Server意图Python GUI代码Canvas动态变化颜色2字节整数总结意图无线网为家里的无线网,DHCP使能。一个ESP32连接到比如:SSID=“B59B74”。个人计算机编辑GUI界面,读取ESP32中的保持寄存器40001~40010的内容。为实验目的,不断更新4000x中的内容。用GUI连接服务器,当连接了服务器,发送读取40001 ~ 40010,读取并显示。Python GUI代码起始Python代码比较简单,但几个需要注意的地方
2021-05-30 19:46:23
680
2
原创 ESP32通过SPI读取多个SPI Slave--6个MAX31865 RTD芯片
ESP32控制6个SPI设备有一个ESP32想要读取6个MAX31865的RTD电阻,采用一个74HC138的3-8译码器作为6个MAX31865的选通。这里选择了Arduino IDE作为编程软件,从Adafruit下载的读取MAX31865的库。要选通读取可以对3-8进行编码,但这样要改变库函数,不希望对库进行修改,将固定的CS端连接到外部中断端,用函数attachInterrupt(digitalPinToInterrupt(pin)...
2021-05-21 09:45:20
3360
5
原创 CodeSys WIN V3 x64 PLC控制罗克韦尔的1734 Ethernet/IP远程控制模块
CodeSys软PLC控制EtherNet/IP远程站1. CODESYS软PLC2. 系统组成2.1 主站配置2.2 网络配置2.3 连接1734-AENT/B远程站3. 配置连接1. CODESYS软PLCCODESYS软PLC是工控领域中使用的最多的编程编程软件,同时CODESYS还有大量的PLC在市场上被广泛的应用。最近CODESYS开发了新的免费库,EtherNet/IP可以让工控机作为主站,远程站可以带比如南京实点的EtherNet/IP远程模块,罗克韦尔的远程模块。国内的厂商一般会对COD
2021-04-27 19:26:40
4503
原创 第一次用RT-Thread Studio为STM32F4等编程
用RT-Thread Studio为STM32F407编程安装RT-Thread Studio开始使用编程下载总结安装RT-Thread StudioRT-Thread Studio是国内的一家为ARM等处理器编程的软件。过去用过Kiel等软件,但有版权的问题。我们国内的编程软件知道国内的习惯,不要钱,从其他渠道赚钱。安装软件是比较简单的事情,但应该是下载到百度网盘。虽然比较慢,但也就是10分钟的事情。下载完成后基本就是一路OK安装就可以了。安装完成的界面如下:开始使用开始使用这个软件也非常简单,
2021-02-19 20:56:54
2303
3
翻译 用Arduino IDE通过OTA为ESP32编程
Programming ESP32 Wirelessly Using Arduino IDE需要的器件如何通过OTA实现编程OTA(Over the Air) 编程是WiFi-enabled 微处理器,比如ESP32或者是ESP8266可以不用物理接触就对固件或者是应用软件进行升级的一种特性。这个特性对一些难以连接电缆的设备重新下载更新程序非常有用。使用OTA,我们可以在同一个网络下对多个微处理器进行升级。例如,这个特性可以被用来向多个微处理器,耳麦,计算机和机顶盒灯发送更新来解决bug,增加新特性。O
2020-09-15 16:25:19
5662
1
原创 ESP8266和MPU6050使用外部中断
ESP8266中断程序需要ICACHE_RAM_ATTR来修饰使用加速度传感器MPU6050,真正的三轴加速度陀螺仪传感器。我的实验电路是ESP8266,传感器模块选择了MPU6050。采用Arduino IDE编程,因为有大量的库可以选择,在IDE中管理库,然后查找MPU6050,找到库,添加,不到1分钟下载完毕,按照说明书接线:ESP8266的接线:SDA - GPIO4SCL - GPIO5INIT - GPIO15连接完成后下载示例程序,出现问题:ISR not in IRAM上网
2020-09-05 15:23:28
2978
7
原创 ESP32的喂狗失败之旅(已解决)
ESP32失败的喂狗经历概述Task Watchdog Timer控制看门狗的函数概述采用ARDUINO IDE为ESP32进行编程的资料非常有限,中国的乐鑫也没有太多的资料支持。但从乐鑫的官网还是可以看到对FreeRTOS的介绍,试着对Task Watchdog Timer进行理解和编程,最终归于失败,用vTaskDelay()函数防止中断触发,但如果想让程序更快执行没有实现,记录失败过程供大家参考。Task Watchdog Timer在ESP32的硬件配置中有中断看门狗和任务看门狗。把中断看门
2020-09-01 09:50:46
13186
22
原创 ESP32和ESP8266使用W5100和W5500以太网模块
ESP8266使用W5100以太网模块概述程序连线结果概述实验项目,希望用一个以太网模块来实现以太网通讯,没有使用WiFi网络,而是用连线的以太网。采用一个ESP8266模块做主处理器,采用Arduino IDE做开发环境。首先选择了一个W5500模块连接以太网。结果通过SPI连接W5500,不成功。程序跑不起来。也没有添加其他的库,感觉现在的Arduino不是很友好,下载程序非常慢。就上某宝又购买了一个W5100模块。(因为看Ethernet.h和Ethernet.cpp发现库与W5100模块兼容。
2020-08-15 17:26:30
11536
16
Arduino MKR WIFI 1010无线网浏览程序
2019-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人