木木01 发表于 2025-3-9 20:58:25

关于第9集数码管47分50秒左右你说好的要输出CYCY哪里来的{:4_184:}
这里凭啥就冒出个CY变量来了,反复听没听明白
void Send_595( u8 dat )
{
        u8 i;
       
        for( i=0;i<8;i++ )
        {
                dat <<= 1;                                //DAT = (DAT<<1);        //CY
                HC595_SER = CY;                //先把数据写到引脚上
                HC595_SCK = 1;                        //输出上升沿的时钟信号
                HC595_SCK = 0;
        }
}

木木01 发表于 2025-3-9 21:02:59

木木01 发表于 2025-3-9 20:58
关于第9集数码管47分50秒左右你说好的要输出CYCY哪里来的
这里凭啥就冒出个CY变量来了,反复听没听明 ...

dat左移会到CY里去,有什么说法吗,这有点跳跃啊

木木01 发表于 2025-3-10 09:48:44

张山峰 发表于 2025-3-10 07:22
CY是程序状态寄存器,把最高位左移一位到寄存器最高位。

嗯嗯,CY的功能大概是明白了,反正就是个有特定功能的特殊变量
我更倾向于使用这种明确的逻辑
HC595_SER = (dat & 0x80) ? 1 : 0; // 取 dat 的最高位
      dat >>= 1;                // 右移1位,准备下一次取最高位。

木木01 发表于 2025-3-10 09:56:08

张山峰 发表于 2025-3-10 07:36
回头看51基础吧

确实是没有51基础,直接就是上手用esp32的{:xiaoku:}
51必学吗,c/c++在这行代码的处理方式上可以用更直白的表达的呀

木木01 发表于 2025-3-10 09:57:25

windsoft77 发表于 2025-3-10 08:54
有器材支持最好了

我已经领了核心板和Ai8051u试验箱了,这不已经很香了吗{:huaixiao:}

木木01 发表于 2025-3-10 09:58:24

nzh 发表于 2025-3-9 11:51
第8集学习,我觉得学完冲哥的ai8051u深度入门,以后自己可以写操作系统了

说干就干{:koubi:}

Sky_chen4 发表于 2025-3-10 10:01:44

神农鼎 发表于 2024-11-19 10:47
2024/12/9:
冲哥重披战袍,Ai8051U 实战教学 视频 上线



希望大佬速更,我已经饥渴难耐了{:4_202:}

禁止发言 发表于 2025-3-10 10:17:22

请教大佬们,定时器多任务 有点不明,static TASK_COMPONENTS Task_Comps[]=
{
//状态计数周期函数
    {0, 500,500,Sample_LED0},      /* task 1 Period: 500ms */
    {0, 1000, 1000,Sample_LED2},       /* task 2 Period: 1000ms */
    {0, 2000, 2000,Sample_LED4},       /* task 3 Period: 2000ms */
//    {0, 500, 500, Sample_RTC},      /* task 4 Period: 500ms */
    /* Add new task here */
};

u8 Tasks_Max = sizeof(Task_Comps)/sizeof(Task_Comps);

//========================================================================
// 函数: Task_Handler_Callback
// 描述: 任务标记回调函数.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2012-10-22
//========================================================================
void Task_Marks_Handler_Callback(void)
{
    u8 i;
    for(i=0; i<Tasks_Max; i++)
    {
      if(Task_Comps.TIMCount)      /* If the time is not 0 */
      {
            Task_Comps.TIMCount--;   /* Time counter decrement */
            if(Task_Comps.TIMCount == 0) /* If time arrives */
            {
                /*Resume the timer value and try again */
                Task_Comps.TIMCount = Task_Comps.TRITime;
                Task_Comps.Run = 1;      /* The task can be run */
            }
      }
    }
}

//========================================================================
// 函数: Task_Pro_Handler_Callback
// 描述: 任务处理回调函数.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2012-10-22
//========================================================================
void Task_Pro_Handler_Callback(void)
{
    u8 i;
    for(i=0; i<Tasks_Max; i++)
    {
      if(Task_Comps.Run) /* If task can be run */
      {
            Task_Comps.Run = 0;      /* Flag clear 0 */
            Task_Comps.TaskHook();   /* Run task */
      }
    }
}
搞来搞不上在40P的AI8051U -34K64

ZRF197210 发表于 2025-3-10 19:27:19

下午用核心板试了一下下载,挺好用。

禁止发言 发表于 2025-3-11 08:02:15

{:4_174:}学习中
页: 88 89 90 91 92 93 94 95 96 97 [98] 99 100 101 102 103 104 105 106 107
查看完整版本: 《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套