• 单片机热门培训内容之硬件除法的重要性

    测试这样一个函数时 void APP_Filter()的执行时间时发现在3.7us,好像有点长于是屏蔽掉乘除法继续测试函数执行时间变为了1.5us,继续屏蔽,变成了这样a=1000*20///30,执行时间为1.7us(一个乘法执行时间0.2us有点长),但是除法执行时间更长2us,查看汇编发现了一点小问题如图这好像不是一条汇编指令,打开万能的百度,果然有问题,cortex m0内核不支持硬件除法...

  • 单片机热门培训内容之Cortex M3的总线接口

    1、I-Code总线: I-Code 总线是一条基于AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000 – 0x1FFF_FFFF 之间的取指操作。取指以字的长度执行,即使是对于 16 位指令也如此。因此 CPU 内核可以一次取出两条 16 位 Thumb 指令。2、D-Code总线: D-Code 总线也是一条基于 AHB-Lite 总线协议的...

  • 单片机热门培训内容之ISP监控程序区

    ISP区是指芯片出厂时就已经固化在单片机内部的一段程序,STC单片机可以进行ISP串行下载程序,这就是因为芯片在出厂时已经在单片机内部固化了ISP引导码,程序首次上电时先会从ISP区开始执行代码,体现在实际实验中时,就是我们在下载程序时,先要点击下载软件界面上的下载,然后再开启单片机电源,当单片机检测到上位机有下载程序的需要时,便启用ISP下载功能给单片机下载程序。若经过短暂的时间没有检测到上位机...

  • 单片机热门培训内容之单片机代码的需要大规模修改的原因

    1.PCB布局的变化:PCB布局变化主要是IO的变化,然后IO变化一般如果驱动程序是直接对IO操作的话就需要大规模改变代码,那么怎么提升代码的修改效率:可以在每个驱动子类里对IO进行define,那么只需要修改define代码,其他的不变的。2.主控芯片的变化:如果是主控芯片的变化,那么可能整个编译器或者说芯片内部资源的控制方式都发生变化,那么这个时候如果是按照上面的方法的话,驱动父类和功能类,及...

  • 单片机热门培训内容之单片机执行程序的过程

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。 计算机执行程序的过程实际上就是逐...

  • 单片机热门培训内容之优化sql语句执行效率的方法

    项目中优化sql语句执行效率的方法:1)尽量选择较小的列2)将where中用的比较频繁的字段建立索引3)select子句中避免使用‘*’4)避免在索引列上使用计算、not in 和等操作5)当只需要一行数据的时候使用limit 16)保证单表数据不超过200W,适时分割表。针对查询较慢的语句,可以使用explain 来分析该语句具体的执行情况。

  • 单片机热门培训内容之提高SQL执行效率的方法有哪些?

    (1)SELECT子句中避免使用‘*’:Oracle在解析的过程中,会将‘*’依次转换成所有的列名, 这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。(2)尽量多使用COMMIT:只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少,COMMIT所释放的资源: a. 回滚段上用于恢复数据的信息。b. 被程序语句获得的锁。c.r...

  • 单片机热门培训内容之单片机烧录程序后如何运行

    一:把程序烧进去之后,把程序下载线取下,然后给单片机上电,程序就会运行了如果没什么反应,那可能是因为程序不对,也可能是没有烧进去程序烧进去的话,单片机应该会“嘟”地响一声二:1、首先得保证程序正确,别有什么死循环之类的,根本运行不到灯亮的那句程序 2、在Keil里单步运行,通过寄存器观察器看看对应口是否有变化 3、然后确定是否连线正确,连线接口与程序是否对应 4、确定一下是接口输出 0 灯亮,还是...

  • 单片机热门培训内容之如何提高单片机程序执行效率?

    1.尽量避免调用延时函数没有带操作系统的程序只能在while(1)里面循环执行,如果在这里面调用大量的延时这样会很消耗CPU的资源,延时等于是让他在这歇着不干事了,只有中断里面的才会执行。如果仅仅是做一个LED一秒闪烁一次的程序,那么很简单,可以直接调用延时函数,但是实际的项目中往往在大循环里有很多事要做,对于实时性要求较高的场合就不行了。为了避免使用延时,可以使用定时器中断产生一个标志位,到了时...

  • 单片机热门培训内容之了解-CPU-

    CPU,Central Processing Unit,传说中的中央处理器,是一块超大规模的集成电路,就这一点上和单片机表面很相似,因为其核心功能是高速计算,及解释计算机指令以及处理数据。一个台式机上的CPU主要包括运算逻辑部件、寄存器部件和控制部件。逻辑部件,是计算的核心处理部位,0、1的逻辑指令就是用这部分进行处理的,逻辑部分能进行大量的浮点运算,其实浮点运算的快慢也是决定CPU处理快慢的一个...

  • 单片机热门培训内容之STC12单片机实现自动下载程序

    在STC单片机中有两个程序区,用户程序区与ISP程序区。单片机上电后(冷启动,并非外部手动复位或看门狗复位),先会运行ISP程序,检测是否有合法的下载命令流,占时几十毫秒到几百毫秒, 如果没有合法的下载命令流,则立即运行用户程序。 如果有合法的下载命令流,则ISP监控程序开始与ISP下载软件通信,软件也会进入编程模式,向监控程序发送程序码,监控程序接收程序码,并将其写入用户程序区中。 在编程完毕,...

  • 单片机热门培训内容之89和12单片机的I2C通信时序问题

    89的I2CDelay:#define I2CDelay() 12的I2CDelay:void Delay_us(unsigned char us) while (--us);}I2CDelay(5);I2C通信分为低速模式100kbit/s、快速模式400kbit/s和高速模式3.4Mbit/s。因为所有的I2C器件都支持低速,但却未必支持另外两种速度,所以作为通用的I2C程序我们选择100k这...

  • 单片机热门培训内容之stm32f0单片机在DEBUG的时候遇到的问题

    在对stm32f030f4芯片进行编程的时候,遇到一个难以跨越的问题,就是程序可以下载进单片机 ,但是单步调试的时候就会卡死在某一环节,要是全速运行的话,还会报错,如下图。operation not possible while the target device is executing.网上百度了一下,没有人和我遇到一样的问题,这个错误的意思是说,“目标设备运行的时候,这个操作不能进行”。 ...

  • 单片机热门培训内容之51内核的中断及中断向量

    51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的。当然还有其他的中断源,比如ADC、SPI、PWM等。以外部中断0为例,在编程中常使用的方式为: void INT0()interrupt 0 using 1 在这里特别做上笔记:其中前面的void INT0() 只是代表一个普通没有形参的函数而已,函数名写成什么都是可以的,这个到不重要。那么后面的就一个一个...

  • 单片机热门培训内容之51单片机中断处理函数能否影响全局变量

    在用keil4.60写51的定时器中断处理函数的时候,遇到了这么一个纠结的问题,就是我定义了一个全局变量temp,一旦触发定时器中断进入处理函数时将temp=123,在开中断前temp=888,我本用keil调试看看里边的变量变化情况的,无意中发现keil竟然显示不了全局变量,只能显示当前调用函数的局部变量,这样一来靠调试我是完全不知道全局变量的值变成了什么。上网查了一下,竟然有人说中断处理函数不...

  • 单片机热门培训内容之单片机 uart中断处理函数

    #define Max_SendLen 100#define Max_RecvLen 100unsigned char TxData[Max_SendLen] = ;unsigned char RxData[Max_RecvLen] = ;void Digital_Recv_Int_xxx(unsigned char RX_buf) else } else...

  • 单片机热门培训内容之C51 单片机 读取93C64

    #include #include//define OP code#define OP_EWEN_H 0x00 // 00 write enable#define OP_EWEN_L 0x60 // 11X XXXX write enable#define OP_EWDS_H 0x00 ...

  • 单片机热门培训内容之STM8S类型单片机UART一直进入接收中断问题

    问题描述:在一个项目中,下位机使用的是STM8S003F3为主芯片。在使用RS485进行与上位机通信时,会一直进入接收中断,根本未接收到上位机的正确数据。解决过程:一开始以为是485芯片R0引脚未上拉的缘故导致这个问题,经过将此引脚通过MCU内部上拉,问题得到缓解。程序工作也稳定了,运行了一周也没问题,所以一直以为问题解决了,结果在实地安装后,没过多久又出现了这个问题,按理说,如果是外部电磁干扰,...

  • 单片机热门培训内容之单片机在中断函数里定时器是否还计数问题

    如果初始化配置的是自动重装初值(寄存器TIMx->CR1中第三位默认为发生更新事件时计数器不停止,可软件置1更改为手动开启计数器),那么定时器溢出后(即进入中断后)就会立刻进行下一轮计数,不过如果中断标志没有清除,那么溢出后不会产生中断,直到清除上次中断标志产生本次中断。

  • 单片机热门培训内容之STM32单片机IO中断实现步骤

    STM32推出了全新的HAL驱动源码,本文给出GPIO中断代码实现的步骤:步骤1)类似下方初始化用GPIO_InitStruct结构体初始化需要的GPIO,注意Mode参数和NVIC的中断使能: GPIO_InitTypeDef GPIO_InitStruct; /* Configure GPIO pins : PB6 */ __GPIOB_CLK_ENABLE(); GP...

立即咨询有惊喜哦 !