找回密码
 立即注册
楼主: fcxqcz***

看冲哥的视频,打卡

[复制链接]
  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-21 15:33:37 | 显示全部楼层
    本帖最后由 fcxqczzyjdxx 于 2023-5-21 18:08 编辑

    第十三集 第四讲 简易多任务处理
    KEY_Deal函数,如果放在定时器里面做按键状态的扫描,当单击状态时,如果刚好主函数没有获得单击状态,这样就丢了一次按键单击,也可能主函数的程序多次获得了单击状态,这样是不是应该有个标志位,在使用过一次后,按键状态就切换到另外一种已经使用过单击状态。

    --------------------------
    课程讲解的是把按键扫描和按键功能放到了if(TIM_10MS_Flag==1)里面,保证按键扫描在按键功能前面,这时的按键每次变化都能被按键功能识别到。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-21 19:36:12 | 显示全部楼层
    第十四集 矩阵按键
    用for 代替if判断密码
    bit a=0; //1 密码正确 ,0 密码错误
    for(u8 i=0; (Show_Tab[i]==1)&&(i<8),i++)
    {
        a=1;
        //开锁
    }
    if(a==0)
    {
        BEEP_ON(200);
    }
    如果密码不都是1,每一位都不相同,可以把密码存到一个数组里面
    u8 mima[8]={1,2,3,4,5,6,7,8};

    for(u8 i=0; (Show_Tab[i]==mima[i])&&(i<8),i++)
    {
        //开锁
    }
    扩展功能
    这样修改mima数组内容就可以修改密码
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-21 20:45:30 | 显示全部楼层
    第十五集 外部中断
    STC32G的外部中断触发方式上升沿下降沿触发和下降沿触发
    需要及时相应的开关都需要外部中断,比如限位器,在轨道上运行的设备,碰到限位器,及时停止。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9410

    回帖

    1万

    积分

    管理员

    积分
    13960
    发表于 2023-5-21 21:12:32 | 显示全部楼层
    也抓紧请 STC 的客服立即 免费+包邮送 STC32G12K128实验箱 V9.6版,实验立即做起来,提高学习效率

    【免费+包邮】 送/申样热线:0513-55012928、0513-55012929、0513-55012966
    工作时间:  8:30-12:00  13:00-17:30(周一 到 周五, 法定节假日除外),也可加如下 QQ 或 微信 申请
    加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592  要求 【免费+包邮】 送, 还免费教你仿真  
    加STC华南区客服曹经理QQ:1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教你仿真
    加STC华东区客服聂经理QQ:2593903262;微信:18106296598  要求 【免费+包邮】 送, 还免费教你仿真
    加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华中区客服唐经理QQ:2571301708 ;微信:18106296589 要求 【免费+包邮】 送, 还免费教你仿真
    加STC东北区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真
    加STC西南区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-21 23:12:27 | 显示全部楼层
    第十六集 IO中断
    除外部中断设置的外部中断外,所有IO口都可以做外部中断。
    IO中断在按下后不松开,设置成高电平触发或低电平触发时,中断会反复触发,直到松开。数据手册上上升沿触发和下降沿触发在STC32G12K128-Beta版芯片不要使用,正式版芯片没有写,应该是可以用了,等我申请到了试验箱试试。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-27 11:02:37 | 显示全部楼层
    第十七集 模数转换ADC上
    ADC 模拟转换成数值。
    用单片机内部1.19V转换成ADC反推出 Vref脚是多少伏,当Vref接电源电压时,就可以得到当前的工作电压是多少。
    Vref必须接参考电源,可以用电源电压来代替。
    ADC_PROWER寄存器控制ADC开关,掉电时关闭,降低功耗。
    flag位,中断标志位,可以检测该为是1就可以读取现在的ADC值,需要软件清零这个位
    ADC建议用慢点的时钟
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-27 12:44:06 | 显示全部楼层
    本帖最后由 fcxqczzyjdxx 于 2023-5-27 13:04 编辑

    第十七集 模数转换ADC下
    选着通道时,先把通道选着位清零,再赋值选择。
    冲哥的写法是 ADC_CONTR &=0Xf0;
    ADC_CONTR |=no;
    库函数选择通道时这样写的  ADC_CONTR = (ADC_CONTR & 0xf0) | channel;  // 设置ADC转换通道

    预编译指令,是在编译器把一部分代码划入需要便于的地方,一部分代码当做没写。
    宏定义也是预编译的一部分,就是定义一段代码起个名字,这段代码可以是数字,可以是一个语句,可以是一段类似于函数的代码。用的时候把这个名字当做语句写到代码中,编译的时候,这个名字说代表的那段代码就替换了上了。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-27 19:17:18 | 显示全部楼层
    第十八集 ADC采集电源电压和ADC按键上
    芯片内部有一个1.19V基准电压。
    1.19v的数值直接读取CHIPID7 CHIPID8两个寄存器,15通道读取Vref的值只用设置通道,不用设置引脚,查看数据手册20.5.4。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-27 20:39:58 | 显示全部楼层
    第十八集 ADC采集电源电压和ADC按键中
    刚刚按下触发一次,按到3秒触发一次,松开触发一次,按到3秒后每0.1秒接着触发一次。原理和按键扫描里的短按长按功能一样
    -------------------
    按键按下,记录下按下状态,用一个变量记录按下了多长时间,每10ms进入一次按键扫描,如果按键还是上次按下的状态,记录按下时间的变量加1,当这个数加到30ms的时候触发一次按键按下,如果没有松开,接着记录时间,当按到3s的时候认为长按,每个10ms触发一次按键按下。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 21:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    4

    主题

    40

    回帖

    154

    积分

    注册会员

    积分
    154
     楼主| 发表于 2023-5-27 21:23:35 | 显示全部楼层
    第十八集 ADC采集电源电压和ADC按键下
    按钮长按和单击区分出来,长按的时候在按键值最高位写1,
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-13 00:53 , Processed in 0.064712 second(s), 62 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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