- 博客(25)
- 资源 (15)
- 收藏
- 关注
原创 通信小结:I2C和SPI
开发板原理图:看到是SPI2用来和触控芯片通讯。用clubeMX看下参考:https://blog.csdn.net/chengwenyang/article/details/9899289之前也是对SPI的NSS一头雾水,看其他手册上说的NSS就是片选信号。大多数的SPI从机的片选有效为低电平,当某一从机的NSS引脚为低电平时,该机被选中,就可以和主机通过SPI通信了。所有的主机和从机其实都有片...
2018-06-30 11:44:47 1358 1
原创 STM32之SPI的迭代
回顾前面用SPI2写的一个W25Q64的程序void SPI2_Init(void){ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //PB13/14/15复用推挽输出 GPIO_InitStru...
2018-06-27 17:52:30 322
原创 STM32操作EEPROM 学习刘洋AT24C02软件IIC
写在前面:前面的文章我们的SPI是用的STM32的资源,IIC也有STM32的硬IIC,本文不用,而是自己写时序来模拟IIC通讯。读写AT24C02。做IIC准备2个问题 A微秒级别的延时怎么做?B器件的地址你怎么确定。开始:用clubeMX软件看到 STM32芯片的IIC1用的是PB7 PB6短接跳线帽 PB7--SDA PB6--SCL原...
2018-06-27 15:00:46 3310
原创 STM32学习:外部SRAM(和EEPROM SPIFLASH类似吧读写)
学习:D:\BaiduNetdiskDownload\战舰V3 视频盘(C盘)\第70讲 外部SRAM实验1本身需要有外部SRAM
2018-06-27 10:21:30 2368
原创 STM32之SPIFLASH W24Q64的结构
第一个问题:SPI的flash一般是干嘛用的 ?IAP远程升级?放字库图片?放FATFS的文件系统来实现malloc?先放着,第二个问题,它的内部存储结构。截图是STM32内部的flash 其实跟我们的W25是一样的,STM32F103的最小单元是page,一个page是2K也就是最少要擦除2K。地址的起始已经写好了就是0X0800 0000.W25的最小单...
2018-06-26 16:57:17 848
原创 STM32之SPI的启辰W25Q64
SPI是4根线,依次介绍: CS它是片选,也就是是否Pick这个设备。一般在STM32也标识为NSS。 CLK这个是时钟,因为SPI是同步的全双工。 MISO 交换数据. MOSI 交换数据. 片选信号就是用于选定某一芯片的信号。对于有片选口的芯片,如果不给片选信号他就不会起作用的。一般的片选信号都是低电平有效,具体查一下芯片资料。片选一般标为CS,如上面有横杠的就是低有效...
2018-06-26 15:12:14 1466
原创 STM32细节逻辑,relay的自适应
硬件连接如图,上电2*6的排线连接TOUCH和我的TS,注意GPIO的ON和NC,如何自适应?上电的时候 左边1 2 3基本就是单刀双掷开关,试想,如果这个端口没有连接TOUCH的话那就是ON和NC都是高电平。如果只有ON是低电平的话,那就是1 2之间是通路,从而判断此时TOUCH内部的relay是 1 2连通,2 3断开。(我是12ON--0 23NC--1)我在测试中的RELAYON是1...
2018-06-25 15:54:19 854
原创 小技巧集合
???????????发消息???????????????第一步:定义#define WM_APP_SHOW_TEXT (WM_USER + 0)第二部:发消息 WM_MESSAGE Msg; Msg.MsgId = WM_APP_SHOW_TEXT; Msg.hWinSrc = pMsg->hWin; WM_...
2018-06-22 15:55:02 224
原创 DROPDOWN-下拉列表
自己生产的是不能直接用的哦 不能全面显示?怎么办?需要增加三句话。参考:https://tieba.baidu.com/p/4983616378?red_tag=1583126393&traceid=static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int NCode; int Id; WM...
2018-06-21 17:48:13 1208
原创 STEMWIN如何聚焦?PC模拟
函数很简单WM_SetFocus( WM_HWIN );只需要一个参数WM_HWIN进去就行了。实际用起来,看看我的例子吧#include "dialog.h"#include "wintop.h"WM_HWIN hPage[5];void MainTask(void){ GUI_Init(); GUI_UC_SetEncodeGBK(); hPage[0]...
2018-06-21 16:22:54 830
原创 STEMWIN如何显示中文?PC模拟
在CodeBlocks环境下虚拟跑UI程序,用GUIBuild做的函数.c由于GUIBuild比较 弱智,它做的不支持中文,所以只能在CodeBlocks想办法了。比如生成的代码是:case WM_INIT_DIALOG://初始化消息,创建窗口/控件时有效,比如在这里设置一些控件的初始参数 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0...
2018-06-21 14:03:01 2429
原创 STM32寄存器与库函数
前面定时器 的时候说了一个路子用到了直接操作寄存器。现在LCD在举一个例子。void LCD_RESET(void){ LCD_RST_CLR; delay_ms(100); LCD_RST_SET; delay_ms(50);}所谓复位就是:拉低--延时--拉高 就好了。一般用库函数,但是你看:#define LCD_RST_SET GPIOC->BSRR=1<<...
2018-06-15 15:25:38 4447
原创 STM32做一个呼吸灯/屏幕亮度调节功能PA1&TIM2CH2 再次回顾定时器的2个参数
写在前面:现在屏幕的驱动程序是用PA1连接到LCD上,先初始化 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = ...
2018-06-15 14:44:40 3732
原创 STM32上电以后GPIO默认是Floating input
真实案例1:用开发板STM32的PD13来测试,直接裸露的管脚。硬件连接我手上发光二极管的比较长的一端也就是 + 极,开发板找GND连接二极管较短的一端也就是 - 极。#define TSBUZGPIO GPIOD#define TSBUZGPIOPIN GPIO_Pin_13#define TS_BUZ_H() ...
2018-06-15 09:25:51 10144 1
原创 STM32定时器:两条大路通罗马
任务:我们用TIM做一个us级别的延时。路子1:做一个很小的定时,每1us就中断一次,你现在如果要延时200us那么我就做这个动作200次!路子2:做一个稍大的定时,比如1000us中断一次,你现在如果要延时200us那么我就截取其中一部分时间段给你,用计数值控制。其中路子2比较好,在前面博文已经实践了。现在是说一说路子了的模块。头文件:#ifndef __TIM4ER_H#define __T...
2018-06-14 11:10:20 536 1
原创 AS1217
发送: drv_uart_init( 9600 );//串口9600 AS1217AUX_OUT(); AS1217_reset();//复位 GPIO_SetBits(GPIOB ,GPIO_Pin_14);//高 TIM3_Delay(1100);//进命令模式 //AS1217_param_init(); AS1217_read_param(Tbuf); fflag=AS1217_s...
2018-06-13 14:11:53 145
原创 C工程的云南白药#define xxx_EXT
参考:http://www.cnblogs.com/alongwaytogo/p/5111516.html头文件:#ifndef __OS_HELP_H__#define __OS_HELP_H__#ifdef xxx_GLOBALS //如果定义了 xxx_GLOBALS#define xxx_EXT //那么xxx_EXT就被定义为 空 #else#define ...
2018-06-11 17:06:48 449
原创 一个C语言的错误:临时变量出栈以后不可预知
问题引入:设计一个给文档命令的函数申明:void ReportName_Logic(char *Title);char *ReportName=NULL;调用:ReportName_Logic(ReportName);//此时我以为跑完以后ReportName就取好名字了。实现:void ReportName_Logic(char *Title){ u8 rval=0; DIR SDdir; F...
2018-06-11 14:24:30 519
原创 小结参数配置的若干方式,SD卡放置config.txt的解析
图中结论:换行 0x0D,0X0A, TAB 0x09,空格 0x201写各种信息到M1卡,用户卡-管理员卡-配置卡,刷卡单片机读走数据,完成参数修改。---需要上位机配合写卡。2屏幕UI,按键或者触屏修改。---比刷卡更可视化。3蓝牙通讯,app发送数据。---需要开发移动app。4放置指定名字的.txt,程序去读文件,比如树莓派那个我就是这么玩的。后期任务;SD卡A...
2018-06-07 17:47:37 650
原创 STM32按键的短按/长按/双击
上一篇文章已经写好了定时器。现在狭隘的用一下:https://mp.weixin.qq.com/s?__biz=MzUyOTM0NDkyMA==&mid=2247484014&idx=1&sn=b07bde8a1d5b15467b2c80dfd7ae3547&chksm=fa633299cd14bb8f8e9334282059930bafabf44dfcf502b0...
2018-06-06 15:54:26 16041 8
原创 STM32定时器,只说最优解
任务:用TIM做一个硬定时实现us级别的延时。参考:https://blog.csdn.net/qq_22252423/article/details/76468161 https://blog.csdn.net/anchises/article/details/52101512分析:操作计数的那个值,控制从哪里到哪里,就可以得到时间。也就是做一个稍大的定时,每1000...
2018-06-06 14:59:48 3844 1
原创 STM32程序代码时间测量的思考-面向对象
怎么计算程序从A跑到B需要的时间?以前物联网充电桩设备是带有RTC模块的,每次去获得时间即可。也就是A获取时间B获取时间,相减即可,并且可以获得A.B的准确北京时间。现在低成本,没有RTC,怎么做?我想配置一个定时器,和延时函数一样,控制定时器的计数值,比如1MS计数值up一个,A去设置计数值为0,B去读取计数值,就可以算出AB之间的相对时间。没有动手,问问了别人,不建议用 硬定时 来做。用系统自...
2018-06-06 11:29:56 1284
原创 STM32独立看门狗:你看狗都独立了。
HAL:https://blog.csdn.net/u014470361/article/details/79008865参考GIT:STM32--软看门口--不需要任何硬件支持--它在IC里面已经集成了。(算是独立看门狗的误解吧)一个倒计数,减减减减减减,减到0就会触发一个系统复位信号也就是单片机重启了。喂狗呢?就是隔一段时间就给这个倒计数重现装载数据,保持它不要到0.头文件...
2018-06-05 14:45:46 1214
原创 STM32一枚按键的旅行(GPIO+中断+NVIC分组)
看硬件原理图GPIO的C13和E0是两个按键,平时是高电平,当按键下去的时候就接地变成低电平。开始软件配置:宏定义两个按键(仔细看是有必要的因为你看GPIO_Pin_13和GPIO_PinSource13的排序是不同的)#define TSKEY1GPIO GPIOC#define TSKEY1GPIOPIN GPIO_Pin_13#define TSK...
2018-06-04 17:01:00 4224
麒麟座IIC测试AT24C02RET6.zip
2020-01-22
TOUCH-KING.zip
2019-11-20
STM32-KEIL分散加载范例
2019-04-24
STM32位带参考programming manual
2018-12-26
STM32L471_HAL_SPI1_W24Q64读写代码
2018-11-14
STM32L471用户手册Reference manual
2018-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人