hrmonx 发表于 2023-5-12 22:41:18

继续刷2集,看到了17集,群里的讨论也比较多,除了单片机还有职业规划

温水煮派蒙 发表于 2023-5-13 08:59:20

毕业10年重拾单片机,先给作者点赞

浅夏星空 发表于 2023-5-13 09:15:35

跟着冲哥学stc 一起进步

新华哥哥 发表于 2023-5-13 12:07:19

冲哥 代码编写 界面 字体稍微调大点就好了 ,字体太小了 ,看着需要靠电脑太近

祁绪电子 发表于 2023-5-13 19:43:34

https://www.stcaimcu.com/forum.php?mod=viewthread&tid=266&highlight=%E4%BA%BA%E4%BA%BA%E5%AD%A6%E4%BC%9A

直接看我们这个,框架式编程方式,让整个板子跑一个程序,移植到STC32G 也是轻轻松松的 。

祁绪电子 发表于 2023-5-13 19:45:12

STC15W代码移植到STC16F、STC32G单片机的注意事项总结

一、编译器相关:
        1、必须安装keil C251编译器,并且,需要把STC16F/STC32G的型号添加到软件安装目录,并且需要使用STC16F/STC32G系列的头文件

        2、项目工程Options for Target 的配置
                A、CPU Model 选择:Source (251 native)
                B、Memory Model 选择:需要根据程序复杂程度做选择。一般选择Small:data vars far const ptr-4
                C、Code Rom Size 选择:Large,64K program。Code Rom Size 模式如果是:Huge,64K functions,16M progr,那么会导致P0口的矩阵键盘工作不正常。
       
        3、keil软件臭名昭著的BUG—0xfD的问题,导致了C251的文件名不能出现以下汉字:
        褒饼昌除待谍洱俘庚过糊积箭烬君魁例笼慢谬凝琵讫驱三升数她听妄锡淆旋妖引育札正铸佚冽邶
        埤荦蔟摭啐帻猃恺泯潺妪纨琮椠辇挲臊忑睚铨稞瘕颀螨簖酏觚鳊鼾       

二、芯片接口相关:
        1、除P30 、P31,其余IO口默认都是高祖模式,需要配置IO口模式才能正常使用。

        2、LQFP48的第16脚不同:STC15W是P5.5,STC16F/STC32G是电压参考脚ADC_VRef+。

        3、和STC8H8K一样,STC16F/STC32G LQFP48 也没有P1.2,用P4.2来控制NRF24L01_CSN


三、C251的语法与STC16F/STC32G的寄存器:
        1、xdata 的变量,必须是写成 static u8 xdata count;而不能写成 static xdata u8 count;

        2、C251的函数中定义的 指向code的指针变量,需要填写数据的存储位置code。例如:(u8 Reg,u8 code *pBuf,u8 len),表示查找code 数组。

        3、16位全局变量保存到xdata区间后,可能导致乱七八糟的奇怪现象。建议少用 。试试调整Memory Model选择:Large,xdata vars far const ptr-4。也有可能选择Small:data vars far const ptr-4,

        4、OLED和万年历里面的,带参函数赋值时,不支持+-*/ 符号,例如 OLED_Write_Reg(0xb0+PAGE);   改成OLED_Write_Reg(0xb0|PAGE); 即可。加号改成 按位或

        5、STC16F/STC32G需要在主函数第一句写WTST=0;让CPU执行单指令,让CPU速度正常

        6、STC16F/STC32G需要把AUXR的 EXTRAM位写1,才能读写xdata存储空间。


四、WQX开发板课程相关
        1、WS2812、DS18B20、LCD1602等 需要短暂延迟的代码 需要增加延迟_nop_();的数量

        2、ADC的寄存器不一样 需要仔细修改,STC15W是内置参考电压。STC16F/STC32G是ADC_VRef+做参考电压。没有P1.2,ADC脚是P5.4。如果是实时测量ADC,关闭电源会严重影响采集结果。

        3、IIC 函数每次时钟上升沿之前 加一句 IIC_Delay();延迟。

        4、STC16F/STC32G单片机的PWM的寄存器,和STC8H8K的PWM寄存器兼容。但是和STC15W的PWM寄存器完全不同。需要全部重新改写。

        5、STC16F/STC32G单片机,暂时不支持EEPROM操作

新华哥哥 发表于 2023-5-14 21:01:11

冲哥 ,你好!
冲哥,你好!很高兴 能看到你用心录播的精彩视频,我受益匪浅。
在矩阵按键 这一讲课里,有个PPT   矩阵按键 判断的时候,
主要步骤分三步
,第一步 端口P0 高位输出高电平低四位输出低电平0X C0这一步 ,有按键按下 ,P06 这个引脚会被拉低, P0(读取P0变化后的值) ^ (p0赋值的初值0XC0)    0x80/0x40
这一步判断的是对应的行。 你的PPT刚开始写的是列
视频里 讲的 是正确的,PPT错了,我给你提下意见。
还有 你说读到的数据 0x80 代表第一行,我觉得不对。 因为PPT P06第一行 P07 第二行 。所以0x40 代表第一行
这个 看现场高位哪一个引脚接高电平,好理解,不容易错。我懂了。

新华哥哥 发表于 2023-5-14 21:03:56

新华哥哥 发表于 2023-5-14 21:01
冲哥 ,你好!
冲哥,你好!很高兴 能看到你用心录播的精彩视频,我受益匪浅。
在矩阵按键 这一讲课里,有 ...

在代码注释里 第一步,哪个按键按下了,哪一行与这一列连通,哪一行 变低电平 ,
判断的是 哪一行。

samwong 发表于 2023-5-14 22:01:46

不错的视频,我会跟着一步一步往下学的

hrmonx 发表于 2023-5-14 23:16:34

继续刷2集,看到了19集。不刷剧,就刷冲哥的视频,针不戳
页: 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70
查看完整版本: 视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版