STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。一、系统复位:系统复位将复位所有寄存器至它们的复位状态。 当发生以下任一事件时,产生一个系统复位:1. NRST引脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWDG复位)3. 独立看门狗计数终止(IWDG复位)4. 软件复位(SW复位)5. 低功耗管理复位 可通过查看RCC_CSR控制状态寄存器中的复位状态标            
                
         
            
            
            
              只有当定义了结构体变量的时候才会分配内存空间, 比喻说struc stu
{
int id;
int age;
char name[28];
}
struct stu d;这个时候才会分配内存空间  (1)  定义结构体类型, 以及初始化结构体变量#include<stdio.h>
//关键字 struct 代表的是一个结构体            
                
         
            
            
            
            掉电保持变量在PLC掉电、程序下载后继续保留原来的值,常用来定义工程中重要的参数,防止PLC突发掉电或者程序下载而导致的重要参数丢失。掉电保持特性主要通过属性关键字PERSISTENT RETAIN来声明。下表列出了执行复位、掉电等动作时,不同掉电保持变量的响应动作:(1)一个应用POU只有一个永久变量表,通过右键应用-添加对象-永久变量来添加永久变量表 (2)可以在程序中通过PERSI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-21 09:59:14
                            
                                257阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这是最后的实验现象,改变不同的角度即可测得距离板子 PZ6806L 超声波模块 HC_SR04HC_SR04模块讲解通过该超声波模块说明书,可明白供电需VCC 5V  还需GND  ECHO(回响信号)  TRIG(触发信号)也就是说总共需要4根线,其中VCC和GND只需要接到开发板上的5V电源和GND即可这是我的接线图  ECHO 使用的是PC3            
                
         
            
            
            
            前文给大家简单的讲了一下IEC61131-3&GB/T15969.3,可编程序控制器-第3部分:编程语言。IEC 61131-3国际标准的编程语言包括5种语言。今天给大家带来的是其中我本人认为使用最方便,最简化的ST语言。文本编程语言"结构文本(Structured Text),ST"来源于编程语言Pascal。主要分为赋值语句,选择语句,迭代语句。本次将从ST语言的操作符以及ST语言的语            
                
         
            
            
            
            看完了《linux高性能服务器编程》对里面的定时器很感兴趣。书中提到三种定时器,分别是:基于升序链表的定时器,基于时间轮的定时器,基于时间堆的定时器。三种定时器的实现书中均是给了C++代码,不过我对C++不太感兴趣,虽然现在在做C++开发,因此写了C版本的。书中定时器只给了封装的定时器类,没有给调用层代码,我是估摸着写了调用层代码。这里做个总结,以后可以翻翻:基于升序链表的定时器没太大难度,因此也            
                
         
            
            
            
            ·CODESYS·之前笔者使用函数读取txt文件可以正常读取,但是遇到读excel的文件就会返回一组字符串乱码    --------------这是由于excel返回的数据需要进行类型转换,所以需要从byte转成word最后到字符串格式。----------------- 一个表格的每一个字节转成字符串,然后对这个表格的所有字符串进行拼接,就完成这个表格的格式转换了!读文件函数FUNCTI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-22 14:29:20
                            
                                278阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             使用VSCode+PlatformIO+CMSIS开发STM32F407ZGT6环境准备下载VSCode安装中文插件安装PlatformIO插件创建工程安装STM32平台创建新工程移植库函数修改工程配置文件参考文章 环境准备VSCode PlatformIO下载VSCode官网下载 安装后打开,如图所示(页面默认是英文,可以安装中文插件):安装中文插件点击左边拓展,搜索栏搜索Chinese,点击            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-25 20:22:20
                            
                                370阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、序言要实现恒压供水,恒温控制,恒转速等技术要求,在PLC控制中,一般我们通过通讯或者模拟量采集的方式获取数据,而这些数据的采集都需要一定的时间,数据内容都是离散的,也无法获取连续的数据参数,因此,我们在编程设计时,需要用到PID的离散数学模型。离散PID数学模型的理论分析在之前的博客中已有介绍,参考文章地址:Codesys本身自带PID指令,目前由于学习时间较短,还没将指令研究透,所以暂决定自            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 09:19:39
                            
                                536阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、ST语言简介:参考了百度文库https://baike.baidu.com/item/ST/18737108?fr=aladdin       结构化文本/结构式文件编程语言(英语:Structured text)也称为ST语言,是为可编程逻辑控制器(PLC)设计的编程语言,是相关的IEC 61131-3标准中支援几种语言之一。&nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-15 19:42:58
                            
                                1164阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            PLC编程之ST语言1,IF结构:2,FOR结构:3,CASE结构:4,WHILE结构:  ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,西门子的略微麻烦一点),ST语言的一个好处是移植性好,各家的ST语言基本都是类似的,所以如果有一个巨牛逼的算法,用ST语言实现是再好不过的了,这样可以很容易的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-23 14:36:45
                            
                                755阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 接口封装下面这个汇编程序是实现三数求和的功能:mov ax,0x0000
mov ss,ax  
mov sp,0xFFFF
mov bp,0xFFFF
;计算100+200+300
push 100
push 200
push 300
mov ax,word[ss:bp-2] ;把第一个数加数放到ax中。
add ax,word[ss:bp-4] ;把第一个数和第二个数相加,结果放到a            
                
         
            
            
            
            在我们定义串口通讯协议的时候,肯定是首先要考虑通讯协议内容是以 ASCII码 还是 hex十六进制。对于这两类的各有各的优点和缺点。一、ASCII优点:1、简单直观。(比如在串口调试助手很容易看懂协议上传的数据)2、数据起始标志位和结束标志位唯一,不与数据内容冲突。(比如起始位为SS,结束位为\r\n)3、适用大小端MCU的协议通讯,8位单片机基本都是大端,32位及以上单片机和PC都是小            
                
         
            
            
            
             目录一、STM32三种boot模式1.简介2.三种模式比较3.模式选择4.实验二、汇编程序的编写1.创建工程2.完成相关配置3.实验例子 一、STM32三种boot模式1.简介STM32三种启动模式对应的存储介质均是芯片内置的 用户闪存=芯片内置的Flash。 SRAM=芯片内置的RAM区,就是内存 系统存储器=芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常            
                
         
            
            
            
            在单片机应用中,经常会遇到需要短时间延时的情况,一般都是几十到几百μs,并且需要很高的精度(比如用单片机驱动DS18B20时,误差容许的范围在十几μs以内,不然很容易出错);而某些情况下延时时间较长,用计时器往往有点小题大做。另外在特殊情况下,计时器甚至已经全部用于其他方面的定时处理,此时就只能使用软件定时了。下面小编就和大家分享下c语言delay的用法1 C语言程序延时Keil C51的编程语言            
                
         
            
            
            
            1、 CoDeSys是什么CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是Controlled Developement System的缩写),在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++)。2、CoDeSys功能2.1 工程 一个工程包含了PLC程序中的所有对象,工程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-29 12:51:44
                            
                                77阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             首先说明一点,这个软件中,对于复位和冷复位的理解,和网上介绍的、通常意义下的、plc的复位和冷复位不同。网上说的冷复位是整机断电重启(拔电源插头),热复位是plc通电状态下软件复位。这个软件里的复位和冷复位都是在plc通电状态下完成的。 点击登陆:如果这个时候plc和电脑建立了硬件连接,电脑软件内的程序和plc内部的程序相同,点击登陆会将plc进入调试状态。如果这个时候plc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-28 12:27:53
                            
                                2143阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近有朋友问了些关于STM32复位的问题,今天结合前面文章再次总结一下复位相关知识。1STM32的复位和时钟控制RCC:Reset and Clock Control每一块STM32中都有这么一个RCC复位和时钟控制模块。STM32的复位为三类:系统复位、电源复位和后备域复位。系统复位:1. NRST引脚上的低电平(外部复位)2. 窗口看门狗计数终止(WWDG复位)3. 独立看门狗计数终止(IWD            
                
         
            
            
            
            经常使用codesys进行开发一些现场应用,比较繁琐,matlab的支持让工作应该可以加倍完成。 
   Simulink PLC Coder为 PLC 和 PAC 生成 IEC 61131-3 结构化文本和梯形图。 
 一、支持的平台与功能
   Simulink PLC Coder™ 从 Simulink® 模型、Stateflow® 图表及 MATLAB® 函数生成独立于硬件的 IE            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-09 11:02:44
                            
                                261阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在调试MCU时,经常会遇到复位的情况。要找到复位的原因,我们就需要了解到有哪些因素会导致MCU复位。 1. 外部输入复位当我们改变MCU的reset引脚的电平,并保持一段时间,就可以复位MCU。外部输入复位是重启MCU最有效的方式了。 2.上电复位  (LVD)我们发现MCU不接外部复位电路,也能正常启动起来,这就是上电复位在发挥作用。如下图,当电源电压达到POR释放