找回密码
 立即注册
楼主: zhange

【冲哥版】stc32学习心得

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:397
  • 最近打卡:2025-06-18 08:08:41
已绑定手机

0

主题

6

回帖

124

积分

注册会员

积分
124
发表于 2024-5-10 11:43:05 | 显示全部楼层
zha*** 发表于 2024-5-10 08:52
第一集:认识单片机

低调,没给人家告你侵权
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-10 12:45:36 | 显示全部楼层
第四集:建立工程点亮第一颗LED下


哎吆,高级起来了,自动化下载。

这集貌似没啥难度?简单设置好,以后都是用的模版。so easy。。。

1.函数调用,函数声明,函数定义。注意三者关系。以及他们在main函数前后的关系。

2.多收集别人的例程,以后参考。。。

3.EA 中断总开关,这个记不住 后边有坑。用到中断就开他。

4.Px   //P0  P1 P2

没搞明白地方:usb这两种模式啥区别,后边貌似都是用的cdc模式。

截图202405101236278257.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-10 15:10:36 | 显示全部楼层
第五集:C语言运算符和进制数入门上


1.printf:调试串口必备,上节课用的usb串口模式,这不就用到了。下边几个占位符应该就可以了吧。
printf("HELLO WORLD");
printf("%d",i);
  • %d 整数
  • %s 字符串
  • %c 字符
  • %x 十六进制


2.hex  十六进制显示
进制和位数不要搞混了,位数表示的是这个字占用计算机几个位,位只能用二进制的0 1表示。
16进制1位代表2进制的4位。
0x55:是16进制表示方法,表示成二进制就是 0101 0101;单片机的存储都是二进制存储。
二进制  b 表示

3.简单的十六进制转二进制记住,不会的直接科学计算器,

降龙棍露面吧!!!!
微信图片_20240510150035.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-10 15:48:47 | 显示全部楼层
第五集:C语言运算符和进制数入门下


1.+-*/和基本的数学运算一样,没区别。

2.++   --  注意符号的顺序,在前边是先运算再引用,在后边是先引用后运算,如果这一行只有这一个变量,没有其他的了,比如(i++;)和(++i;)其实前边后边都行,注意区别就行

  1. int jia()
  2. int i = 0;
  3. return i++;
  4. int jia()
  5. int i = 0;
  6. return ++i;
复制代码
3.或|   有1就是1  没1 那没办法了
与&   全是1才是1
异或 ^  相同则为0 不相同则为1
~ 取反
!逻辑非
<<  左移一位  倍数乘2
>>右移一位  除2
4.+=     等价于i = i+b; 新手还是老老实实的写全吧!!!
-=    & =  。。。。。。简写的符号了解  ,上边的3条必须记住。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:262
  • 最近打卡:2025-06-18 15:23:24

1

主题

81

回帖

1185

积分

金牌会员

积分
1185
发表于 2024-5-10 17:24:23 | 显示全部楼层
向你学习,加油
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-10 17:34:34 | 显示全部楼层
第六集:LED闪烁和花式点灯上


1.#define    预定义

2.u8   u16   不建议使用  我是新手  我要记住单词   unsigned char   unsigned int

3.延时函数最好用isp软件生成,注意选择的频率,还有mcu版本,这里有巨坑.

截图202405101724271149.jpg


4._nop_();无命令操作指令  调用这个指令 头部需要包含intrins.h

  1. void Delay1000us(void)        //@11.0592MHz
  2. {
  3.         unsigned long edata i;
  4.         _nop_();
  5.         _nop_();
  6.         i = 2763UL;
  7.         while (i) i--;
  8. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-11 09:42:10 | 显示全部楼层
第十八集:ADC采集电源电压和ADC按键上

1.adc计算公式:输入电压 = 参考电压/4096*采集的数值。反推参考电压 = 输入电压(1.19v  内部的)/采集数值*4096。内部电压既然为1.19,记住就行,不读取??????

2.adc按键扫描其实就是电阻的短接,按下的按键不一样,串进来的电阻不一样,分得的电压不一样????高阻输入必须看看了。。。

截图202405110941493726.jpg





疑问:


已经知道了内部参考电压为1.19v?为啥还要读取,直接推算就行。


坑:


我在那下的手册呀,和官网不一样,巨坑呀。以前手册是CHIPID07  我说编译老是错误  官网偷偷的把0删除了。。。。


记得就是在官网下的呀。。。。

截图202405110932374974.jpg


把零去掉就可以了,  内部电压数值为

截图202405110934423930.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-11 10:24:41 | 显示全部楼层
第十八集:ADC采集电源电压和ADC按键中


1.adc按键扫描和矩阵键盘比起来有高级了,占得io口又少了。

2.static修饰符   初始化一次  使用范围不变。

static修饰局部变量,改变了变量的存储位置,本来一个局部变量是存储在栈区的,被static修饰之后就存储在静态区了。而静态区的变量的生命周期是全局的,出了作用域不会被销毁,下次进入作用域时还在。

注意:静态的局部变量虽然生命周期和“正常”的局部变量不同,但是作用域并没发生改变,仍然是在其局部范围内可以被使用。
3.按键状态保存,可以做很多判断,

4.温习下数码管:数码管分为共阴,共阳,但是断码没变。共阳?灌电流输入

5.做时钟最好用定时器中断,16位自动重装,在中断里做时分秒自家。中断不要一直进,进的次数越少越好。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-11 10:37:43 | 显示全部楼层
第十八集:ADC采集电源电压和ADC按键下


好费脑子,虽然已经做过电子时钟了,但是使用的是tm1637,设置简单,没试过数码管,再刷一遍吧。。

---二刷分隔符---


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:268
  • 最近打卡:2025-06-17 07:01:20

62

主题

830

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-5-11 12:02:44 | 显示全部楼层
第六集:LED闪烁和花式点灯下


接着复习吧,玩adc玩累了  撸不动了

1.各位兄弟,手册记得经常更新,我掉坑里了今天。

2.不知道函数和变量咋命名的可以研究下大驼峰命名(单词首字母大写)小驼峰命名(第一个单词不大些后边的单词首字母大写)
函数命名,还是用拼音吧,英文太差了。拼音不容易混。

3.编译的时候有错误不行,有警告可行,但最好把警告排除了。一般都是函数或变量定义了没调用啥的。

4.防止重复加载
#ifndef  __ADC_H
#define __ADC_H
//代码在这里
#endif
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-19 05:53 , Processed in 0.142761 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表