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

我打算重新写写stc32的学习笔记

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:510
  • 最近打卡:2025-05-09 00:40:40
已绑定手机

1

主题

836

回帖

1529

积分

金牌会员

积分
1529
发表于 2024-7-6 21:29:25 | 显示全部楼层
想验证哪个功能自己弄个实验板也很方便,毕竟嘉立创给力
靡不有初,鲜克有终
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:510
  • 最近打卡:2025-05-09 00:40:40
已绑定手机

1

主题

836

回帖

1529

积分

金牌会员

积分
1529
发表于 2024-7-6 21:30:10 | 显示全部楼层
用积分换个屠龙刀也行
靡不有初,鲜克有终
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:429
  • 最近打卡:2025-05-08 00:01:49
已绑定手机

19

主题

3196

回帖

4956

积分

论坛元老

积分
4956
发表于 2024-7-6 21:32:12 | 显示全部楼层
开发板蛮漂亮的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-7-6 21:38:32 | 显示全部楼层
虽然第六集的标题是led闪烁和花式点灯  但是 在这中见讲了很多  东西
比如系统时钟设置  #define MAIN_Fosc   需要设置的频率   当然也可以在stcisp的硬件选项下去自己选择需要设置的内部时钟源的频率
比如c语言的语法  do  while  是先执行语句再判断结果   while 是先判断结果再执行语句
比较 利用#define  宏定义的来替换名称  方便后期修改
typedef 与define的区别是  defing 名称在前面 不需要加分号    而typedef 则是名称写在后面加分号
define 用法   define  名字  需要定义的内容



在模块化编程里,函数使用分为如下三步: 1.函数定义 返回值 函数名称( 入口参数 ) { 函数要执行的功能 }
@返回值:没有返回值就是void
@函数名称:避开关键词,不重复,非特殊字符随便取
@入口参数:类型+名称,多个参数“,”分开,空就写void
2.函数声明 返回值 函数名称( 入口参数 );
3.函数调用 函数名称( 入口参数 );

还有如何模块化


1新建xxx.c和xxx.h文件,代表一个功能块。
xxx.h格式: #ifndef __XXX_H
                   #define __XXX_H 调用头文件
                    函数声明...
                     #endif xxx.c格式
                  在需要调用的文件中#include “xxx.h” 函数定义 添加文件一定要记得引用路径和添加到工程里。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-7-6 22:10:03 | 显示全部楼层
本帖最后由 asys 于 2024-7-6 22:11 编辑

第7集按键点灯  
当按键没有按下时,我们所定义的IO端口一直为高电平,一旦按键按下,
电流往低处走,即IO端口没有电流流过,我们检测定义的按键端口的电压为0V,
即为低电平的时候,即视为按键按下;但是我们在按下按键的过程中
电压不是骤降为0V的,中间电压的变化是抖动的

按键有一个10ms的抖动  需要消抖
代码示例
if( KEY == 0 )
{
Delay_ms(10);
       if( KEY == 0 )
            { while(KEY == 0); 执行功能 }
}

后面冲哥使用了右移运算符  实现了 按下按键  led灯向右边依次点亮  
大概是这样的
10000000
01000000+1
01100000+1  
依次点亮
后面讲了数组的使用将 对应的8种状态存到数组里面   
例如这个 LED_DataTab[8] = { 0XFE,0XFD, 0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};
下次使用的时候可以直接P6=LED_DataTab[0-7];
LED_DataTab[]中不能写8  如果写8数组就越界了

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-01-19 13:42:05

7

主题

39

回帖

99

积分

注册会员

积分
99
发表于 2024-7-14 23:07:33 | 显示全部楼层
接下来的我会在屠龙刀的帖子里面完成https://www.stcaimcu.com/forum.php?mod=viewthread&tid=9592
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-9 04:52 , Processed in 0.201749 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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