会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
equal love
珵诩媛
https://cdn.jsdelivr.net/gh/Qierven/PicX@master/20211202/c.4ltv1vm3x0c.png
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2018年6月26日
STM32进阶日志1
摘要: 一 工程习惯 ①必须模块化编程-一个功能一个CH分开,一个对象一个结构体; ②习惯使用bsp.c/bsp.h,BSP板级支持包源文件; ③多使用#define 来定义IO口与硬件相关特性,方便修改; 二 实际应用 模块化编程起始比较看实际使用场合, 这个和板级支持包有相同特性,使用时可以结合使用,硬
阅读全文
posted @ 2018-06-26 10:22 珵诩媛
阅读(882)
评论(0)
推荐(0)
2018年3月12日
外部中断
摘要: 初始化: 引脚配置--上拉或下拉输入模式根据实际电路 GPIO_Init() 选择中断线 GPIO_EXTILineConfig() 中断线配置与使能 EXTI_Init() 清除标志 EXTI_ClearITPendingBit() 中断优先级配置 NVIC_Init() 中断服务函数: 中断线确
阅读全文
posted @ 2018-03-12 15:57 珵诩媛
阅读(214)
评论(0)
推荐(0)
2018年1月20日
STM32定时器配置
摘要: void TIM1_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_A
阅读全文
posted @ 2018-01-20 14:53 珵诩媛
阅读(1874)
评论(0)
推荐(0)
2017年12月4日
stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解
摘要: [转载]2017年12月4日14:48:29 先描述下这几天碰到的一个奇怪的问题: 一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为21.1KB,具体为21633Byte.我在最开始调试时对于IAP编程的app程序直接下载到单片机中
阅读全文
posted @ 2017-12-04 14:49 珵诩媛
阅读(2456)
评论(0)
推荐(0)
2017年11月28日
堆栈与溢出
摘要: Stack_Size的值根据你程序中局部变量最大尺寸计算,Heap_Size的值如果程序中没有用到动态内存malloc就默认不用管
阅读全文
posted @ 2017-11-28 08:41 珵诩媛
阅读(149)
评论(0)
推荐(0)
2017年8月19日
做一个好的接口函数
摘要: 定义一群接口一样的函数,使用联合体结构体函数指针; #include "stdio.h" typedef unsigned char u8; typedef unsigned short int u16; typedef unsigned int u32; #define MB_FUNC_HANDL
阅读全文
posted @ 2017-08-19 10:53 珵诩媛
阅读(553)
评论(0)
推荐(0)
2017年8月15日
struct位域
摘要: 1 总结下 结构体位域的使用 比如 则 struct _COM2 { u8 Len : 1;//低位 u8 EoN : 2; u8 Stop:1; u8 Bps:4;//高位 } union COM { u18 data; struct _COM2 COM2; }; 测试可用: #include "
阅读全文
posted @ 2017-08-15 13:38 珵诩媛
阅读(403)
评论(0)
推荐(0)
2017年8月14日
MODBUS
摘要: Modbus 有ASCII和RTU 两者是通信协议,不同点就是 ASCII: 数据传输时 一个需要把 一个字节数据的 高4位和第四位 分别处理成ASCII码再分成两个数据进行传送;( 有与上位机进行通信的就需要使用这样的MODBUS ) RTU: 数据传输时,字节把字节数据进行传输;( 不用与上位机
阅读全文
posted @ 2017-08-14 09:55 珵诩媛
阅读(223)
评论(0)
推荐(0)
2017年8月9日
逗号字符的使用、字符数组与字符串数组、sizeof与strlen
摘要: (1)连接两个表达式为一个表达式 for(ux=0,uxt=1;uxt<444;ux++,uxt++) 允许通过编译;他可以给FOR循环更多的初始化值; (2)一般定义的话要区别只有 字符数组 没有对最后一个数据的要求,而字符串最后一个数据是'\0’; char str1[11] = {'h','a
阅读全文
posted @ 2017-08-09 17:02 珵诩媛
阅读(476)
评论(0)
推荐(0)
2017年8月8日
#undef 与 exit(0) 使用
摘要: #undef 与 #defined 反,实际使用中较多的是当你需要使用自己定义的标准C里面已经的函数时可以这样操作; exit(0)和exit(1)是系统判断函数是否有正常的退出,一般0表示正常的退出;
阅读全文
posted @ 2017-08-08 10:05 珵诩媛
阅读(219)
评论(0)
推荐(0)
2017年8月5日
整形与格雷码互转
摘要: 整形转格雷码 x= (x>>1)^x 格雷码转整形(3种方法) static unsigned int GraytoDecimal(unsigned int x) { unsigned int y = x; while(x>>=1) y ^= x; return y; } static unsign
阅读全文
posted @ 2017-08-05 15:51 珵诩媛
阅读(265)
评论(0)
推荐(0)
2017年7月15日
Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片Flash、SRAM的对应关系
摘要: 在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息: 以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结: 这些参数的单位是Byte 图中几个参数分别代表 Code:代码的大小 RO:常
阅读全文
posted @ 2017-07-15 14:29 珵诩媛
阅读(8324)
评论(0)
推荐(0)
提高IO输出速度
摘要: 用DMA内存到内存的模式,直接把Gpio_data的数据循环的搬到GPIOC的BSRR寄存器上来控制GPIOC上电平的翻转,这样使得GPIO的速度达到了最快,输出70ns的脉宽,这已经是达到了DMA总线带宽的极限,要想再提高速度的话,就得提高STM32芯片的主频。 这段没看没想到,一看到就觉得简单。
阅读全文
posted @ 2017-07-15 14:17 珵诩媛
阅读(611)
评论(0)
推荐(0)
大师画PCB板子
摘要: 1、低频电路对于模拟地和数字地要分开布线,不能混用 2、如果有多个A/D转换电路,几个ADC尽量放在一起,只在尽量靠近该器件处单点接地,AGND和DGND都要接到模拟地,电源端子都要接到模拟电源端子; 3、数字电路和模拟电路在同一块多层板上时,模拟地和数字地不需要排到不同的层上,但模拟电路和数字电路
阅读全文
posted @ 2017-07-15 13:51 珵诩媛
阅读(351)
评论(0)
推荐(1)
2017年7月14日
STM32的ADC精度提高方法
摘要: 1、精度稳定低一点参考电压VREF稳定; 2、通过设置不同的ADC时钟 和 采样周期 来确定出最适合自己系统的参数; 3、测试思路: 在同样SMPx下,设定不同的时钟得到不同采样时间值; 在同样时钟下,更换SMPx(采样周期值)得到不同采样时间值; 比如:设定56MHZ的时钟不分频,一次1US,SM
阅读全文
posted @ 2017-07-14 14:55 珵诩媛
阅读(4413)
评论(0)
推荐(0)
串口1配合DMA接收不定长数据(空闲中断+DMA接收)
摘要: 1、空闲中断和别的接收完成(一个字节)中断,发送完成(发送寄存器控)中断的一样是串口中断; 2、空闲中断是接收到一个数据以后,接收停顿超过一字节时间 认为桢收完,总线空闲中断是在检测到在接收数据后,数据总线上一个字节的时间内,没有再接到数据后发生。也就是RXNE位被置位之后,才开始检测,只被置位一次
阅读全文
posted @ 2017-07-14 10:33 珵诩媛
阅读(15676)
评论(0)
推荐(0)
GPIO模式用法
摘要: 浮空,顾名思义就是浮在半空,输入直接与寄存器挂钩; 开漏,输出0的时候 PMOS管导通IO输出Vdd,输出1的时候 NMOS管导通IO输出Vss(Cmos场效应管); 推挽,输出时候电平确定,同样使用MOS管; 上拉、下拉:就是字面意思也可参考 http://www.cnblogs.com/luck
阅读全文
posted @ 2017-07-14 10:14 珵诩媛
阅读(361)
评论(1)
推荐(1)
出现问题,一步步来
摘要: 1、仿真查看外设的寄存器状态;(时钟、端口配置、通道配置、) 2、检查使用到的端口配置;(时钟、端口配置) 3、检查硬件上的支持;
阅读全文
posted @ 2017-07-14 09:34 珵诩媛
阅读(172)
评论(0)
推荐(0)
GPIO端口上拉下拉 与 硬件图的上拉下拉
摘要: 硬件图上的上拉下拉: 没有触发时默认接到IO的是高电平就是上拉; 没有触发时默认接到IO的是低电平就是 下拉; (2)对应GPIO的配置 配置与你的外围电路息息相关; 比如下图: 你只能配置为上拉: A低电平--三极管截止--输入高电平; A高电平--三极管导通--输入低电平; 你不配置上拉就会导致
阅读全文
posted @ 2017-07-14 09:16 珵诩媛
阅读(3530)
评论(0)
推荐(0)
2017年7月13日
独立看门狗
摘要: 独立看门狗:(使用内部 40Khz来计数 的溢出复位器,系统死了还会继续计数,计数到达0后进行复位,定时喂狗(重新装载计数值)就不会产生中断了) IWDG_Init(4,500); 步骤 (1)取消写保护: IWDG->KR = 0x5555; (2)设置独立看门狗的预分频系数和重装载值 : IWD
阅读全文
posted @ 2017-07-13 17:46 珵诩媛
阅读(298)
评论(0)
推荐(0)
2017年7月8日
UCOS明白解析
摘要: UCOSII 是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能, UCOSII 最大程度上使用 ANSI C 语言进行开发,并且已经移植到近 40 多种处理器
阅读全文
posted @ 2017-07-08 16:27 珵诩媛
阅读(5959)
评论(1)
推荐(3)
2017年6月16日
位带操作全解释,个人觉得不错就转过来理解下
摘要: 还记得51独有位操作,以一位(BIT)为数据对象的操作?可以简单的将P1口的第2位独立操作。P1.2=0;P1.2=1 ; 既可以把P1口的第三个脚(BIT2)置0置1。 而现在STM32的位段、位带别名区就为了实现这样的功能。 1、 支持的对象有:SRAM 和 I/O外设空间。实现对这些地方的某一
阅读全文
posted @ 2017-06-16 14:28 珵诩媛
阅读(2101)
评论(0)
推荐(0)
2017年6月3日
单片机中嵌入操作系统
摘要: 在单片机中嵌入操作系统的利弊 摘要:近年来,在单片机系统中嵌入操作系统已经成为人们越来越关心的一个话题。本文通过对一种源码公开的单片机嵌入式实时操作系统μC/OS-II为例,阐述了在单片机中使用该嵌入式操作系统的优缺点,以及在应用中应当注意的一些问题。 关键词:实时操作系统;μC/OS-II;单片机
阅读全文
posted @ 2017-06-03 13:57 珵诩媛
阅读(1836)
评论(0)
推荐(2)
2017年5月31日
STM32F1移植UCOSII
摘要: 作者:珵旭媛 下载对应版本的UCOSII https://www.micrium.com/downloadcenter/,你会少修改很多东西; 下载下来后是这样的文件夹,并且Software里面的才是主要用到的; 2、根据个人习惯,建立一个基础 STM32F1模板,运行测试通过口,添加一个UCOS文
阅读全文
posted @ 2017-05-31 15:36 珵诩媛
阅读(364)
评论(1)
推荐(0)
2017年5月25日
快捷底层函数结构体函数调用
摘要: #include <stdio.h> int Add(int x,int y);float Sub(float x,float y);float Mul(float x,float y);float Exc(float x,float y); int (*pMathAdd)(int x,int y)
阅读全文
posted @ 2017-05-25 11:25 珵诩媛
阅读(364)
评论(0)
推荐(0)
STM32自己的封装库
摘要: 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间。每次建立工程都这么编译,是一个相当浪费时间和香烟的过程。 于是,我有了将库编译成lib文件的想法。本博文就是我将STM32F4的标准库编译成
阅读全文
posted @ 2017-05-25 09:35 珵诩媛
阅读(6542)
评论(0)
推荐(0)
2017年5月23日
C语言的指针数组与指针数组
摘要: 一、指针数组与指针数组 1,指针数组 顾名思义,即一个元素全部是指针的数组,其形式与普通数组相似,形式如 *a[N]。 在理解指针数组的使用方式前,我先来说下我个人对数组的理解。 比如一维整形数组(形如int a[3]),其实是一个具有3个整形元素的变量;二维整形数组(形如int a[4][3]),
阅读全文
posted @ 2017-05-23 14:17 珵诩媛
阅读(249)
评论(0)
推荐(0)
2017年5月20日
进程之间的通信
摘要: 进程/线程同步的方式和机制,进程间通信 一、进程/线程间同步机制。 临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数
阅读全文
posted @ 2017-05-20 15:41 珵诩媛
阅读(265)
评论(0)
推荐(1)
线程与进程最最最简洁的说明
摘要: 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限,一次只能供给一个车间使
阅读全文
posted @ 2017-05-20 11:02 珵诩媛
阅读(212)
评论(0)
推荐(0)
PID公式参数
摘要: 大家奉上一篇关于PID算法及参数整定的知识! 1.位置表达式 位置式表达式是指任一时刻PID控制器输出的调节量的表达式。 PID控制的表达式为 式中的y(t)为时刻t控制器输出的控制量,式中的y(0)为被控制量没有偏差时控制器输出的控制量。 由于计算机进入了控制领域。人们将模拟PID控制规律引入到计
阅读全文
posted @ 2017-05-20 10:25 珵诩媛
阅读(2372)
评论(0)
推荐(0)
PID公式基础
摘要: 经常有人会问到PID的用法,今天小编在这里例举温度控制中的PID部分,希望能够把PID的具体应用说明白。 先说几个名词: 1.直接计算法和增量算法:这里的所谓增量算法就是相对于标准算法的相邻两次运算之差,得到的结果是增量,也就是说,在上一次的控制量的基础上需要增加(负值意味着减少)控制量,例如对于可
阅读全文
posted @ 2017-05-20 10:24 珵诩媛
阅读(1035)
评论(0)
推荐(1)
2017年5月17日
自整定的方法说明比较
摘要: PID调节器从问世至今已历经了半个多世纪,在这几十年中,人们为它的发展和推广作出了巨大的努力,使之成为工业过程控制中主要的和可靠的技术工具。即使在微处理技术迅速发展的今天,过程控制中大部分控制规律都未能离开PID,这充分说明PID控制仍具有很强的生命力。 PID控制中一个至关重要的问题,就是控制器三
阅读全文
posted @ 2017-05-17 14:32 珵诩媛
阅读(5673)
评论(1)
推荐(0)
2017年5月13日
PID的自整定
该文被密码保护。
阅读全文
posted @ 2017-05-13 09:43 珵诩媛
阅读(4)
评论(0)
推荐(0)
2017年5月3日
STM32程序的启动
摘要: 普及: 不同位置启动首需要硬件上的配合:BOOT1与BOOT0 引脚电平配合,一般默认使用主闪存存储; 也就是BOOT0 = 0; 启动时将现在起始模式的初始地址映射到了0x0000 0000,内部SRAM模式除外。 主存储块启动:0x0800 0000 或 0x0000 0000 系统存储 :0x
阅读全文
posted @ 2017-05-03 15:01 珵诩媛
阅读(338)
评论(0)
推荐(0)
2017年5月2日
RAM与FLASH
摘要: 以前一直使用STM32但是对 变量 或 函数 的存储域没做任何了解;只知道你需要存储的东西就放在Flash的后面几页就好了;这次接触到STM8发现编译器里面有特别的存储查看器就打算看看到底是怎么存储的 我用的芯片是 STM8S103K3T6C:8K FLASH 程序存储器,每页 64 字节,共 12
阅读全文
posted @ 2017-05-02 17:49 珵诩媛
阅读(580)
评论(0)
推荐(1)
STM8的AIR与STM32的Keil的指定地址存数据
摘要: 【经验分享】KE02在IAR和KEIL中以常量形式初始化EEPROM值一, 经验分享描述 写这篇经验分享的原因是,之前有一个客户,他希望在KE02的芯片中,不要出现使用EEPROM操作命令的形式初始化EEPROM,但是需要芯片的EEPROM中就有他所规定好的数据,以便于程序直接调用。其实就把EEPR
阅读全文
posted @ 2017-05-02 16:03 珵诩媛
阅读(3039)
评论(0)
推荐(0)
2017年4月26日
PLC与电脑通信串口配置
摘要: 一、基础配置 硬件基础: 端口配置:波特率19200,9个数据位,1个停止位,使能校验控制,偶校验; 配置过程:(1)使能串口端口时钟,串口时钟,复用功能时钟; (2)复位串口端口配置DeInit,使能端口复用功能GPIO_PinRemapConfig (3)TX配置为--复用推挽输出,RX配置为-
阅读全文
posted @ 2017-04-26 16:10 珵诩媛
阅读(296)
评论(0)
推荐(0)
2017年4月25日
HEX与ASCII之间装换
摘要: static const char bcd_ascll[20]={0x30,0x31,0x32,0x33,0x34, 0x35,0x36,0x37,0x38,0x39, 0X41,0X42,0X43,0X44,0X45,0X46}; const char ascll_bcd[25]={ 0x00,0
阅读全文
posted @ 2017-04-25 11:08 珵诩媛
阅读(1435)
评论(0)
推荐(0)
PLC指令详解
只有注册用户登录后才能阅读该文。
阅读全文
posted @ 2017-04-25 10:43 珵诩媛
阅读(14)
评论(0)
推荐(0)
PLC通讯协议
只有注册用户登录后才能阅读该文。
阅读全文
posted @ 2017-04-25 10:00 珵诩媛
阅读(28)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告