zhange
发表于 2024-5-16 08:21:00
第二十一集:串口应用下
1.\r\n win系统下的换行符
2.串口接收 存储的字符串,控制住不要越界 可能出现意想不到的错误。
esp8266测试的时候,你可能得不到正确的值。
接收存储数据位归零:1.可以在中断里软件判断结束位,置零。(比较准确)老师教的
2.也可以等上一段时间,在main函数中,置零。(我的esp8266就是这样,但是不准确 需要连接的服务器不挂机)
3.发送字符对应的数字,要对应好。发送字符0,到单片机他收到的不是0而是48。ascll字码表。
zhange
发表于 2024-5-16 17:09:24
本帖最后由 zhange 于 2024-5-16 17:28 编辑
第二十二集:CDC串口通信
1.cdc的优势,我们一直使用的就是cdc
2. 第一次下载需要手动下载一次,以后就解放双手了。。
3.cdc可以去启动虚拟的数码管,12864屏等,等学完课程研究吧。。
zhange
发表于 2024-5-16 20:52:43
本帖最后由 zhange 于 2024-5-16 21:05 编辑
第二十三集:看门狗
1.系统复位
复位的主要作用是把单片机内部的特殊功能寄存器置于初始状态,使单片机硬件,软件从一个确定的,唯一的起点开始工作。
2.复位方式
上电复位-低压复位-复位脚复位-看门狗复位(做项目看门狗很重要)
3.看门狗
其实是一个计数器,基本功能,软件或单片机出问题后重启系统,让系统回到初始状态。
看门狗正常工作时会自动计数,程序进程会定时将其归零。
看门狗计数器清零俗称喂狗。
看门狗计数器是一个独立的计数器,不会死机。
溢出时间不要卡点,要多上一点。
4.以前老听说看门狗,今天老师一说茅塞顿开。。。。。谢谢冲哥
zhange
发表于 2024-5-17 20:02:08
本帖最后由 zhange 于 2024-5-18 05:52 编辑
第二十四集:比较器
1. 电压比较器:通过比较两个电压的大小,来及时相应一些工作。
2.比较器内部结构
3.模拟滤波可以过滤掉比较输入信号中的毛刺信号,数字滤波可以等待输入信号更加稳定后再进行比较。
4.比较器结果有三种输出查询方式:一:中断 二:比较结果直接寄存器查询三:直接端口输出结果
5.可以用比较器给我的8266加一个定时查询网络时间的功能。
zhange
发表于 2024-5-18 06:10:17
本帖最后由 zhange 于 2024-5-18 06:51 编辑
第二十五集:FLASH模拟EEPROM
1.flash 程序存储eeprom 掉电保持存储
flash 存储程序运行代码 eeprom存储用户数据
2.eeprom一次删除512字节 eeprom只能由一写为0,不能由0写1.
3.stc32 只能操作一个字节
4.eeprom最高只能是64k字节。
5.为啥老师擦出后读出来数码管显示8因为他的擦除应该是全部吧位改为1了 8个一0xff 数码管显示8
6.根据按照IEC命名标准 ,用于二进制存储单位的标准命名是KiB, MiB等,1kiB = 1024B。这是由数据流的二进制存储法决定的。64k并不是64000字节???? eeprom一次删除0.5k
zhange
发表于 2024-5-18 07:09:36
本帖最后由 zhange 于 2024-5-18 09:23 编辑
第二十六集:DS18B20温度传感器(单总线)理论分析
哇塞快学完了,,加油zhange
1.ds18b20 数字温度传感器体积小价格便宜 2.5搞定 我是降龙棍只能买
2.电容通交隔直
3.数值乘以精度就是温度了。默认12位精度。
4.单片机和18b20都有独一无二的编码,以后学习使用。。
5. 看得有点头大 ,二刷吧。。。
====二刷了====
6.外部电源供电更稳定。
zhange
发表于 2024-5-18 09:09:47
本帖最后由 zhange 于 2024-5-19 09:59 编辑
第二十六集:DS18B20温度传感器(单总线)代码实现
1.这课信息量有点大我消化消化 再来写{:titter:}
2.已经实现了stc32 循环扫描2个ds18b20看我其他帖子
zhange
发表于 2024-5-19 09:03:51
本帖最后由 zhange 于 2024-5-19 14:21 编辑
第二十七集:软件模拟SPI
1.spi另一个总线 同步串口
上节学的单总线(one-wire)只有一根数据线,系统中的数据交换、控制都由这根线完成。
2. 通信方式
[*]单主单从
[*]互为主从
[*]单主多从
3. 看了一遍看得不是很懂
====二刷吧====
4.这里是模拟的spi把,并不是硬件的。
5.产生时钟的一侧称为主机,另一侧从机。。
6.时钟极性和时钟相位共同控制spi的模式。
7.msb和lsb这里是软件模拟先发哪个都行。。。
8.写一个字节
//写一个字节
void spiXieByte(unsigned char i )
{
unsigned char q;
for(q = 0; q<8 ; q++)
{
if(i & 0x80)
{
MOSI = 1;
}else
{
MOSI = 0;
}
SCLK = 1;
SCLK = 0;
i = i<<1;
}
}9.读一个字节
//读一个字节
unsigned char spiDuByte(void)
{
unsigned char i;
unsigned char dat = 0;
SCLK = 0;
for(i=0; i<8; i++)
{
SCLK = 1;
dat = dat<<1;
if(MISO)
{
dat = dat|1;
}else
{
dat = dat|0;
}
SCLK = 0;
}
return dat;
}10.初始化
void spiInit(void)
{
CS = 1;
MISO = 1
WP = 1;
MOSI = 1
SCLK = 0;
}
最后:写程序成功
qike009
发表于 2024-5-19 09:54:46
先学冲哥?还是布丁好呀
zhange
发表于 2024-5-19 09:59:38
qike009 发表于 2024-5-19 09:54
先学冲哥?还是布丁好呀
学冲哥 申请个实验箱吧{:titter:}