变量是C语言最基础也是最核心的概念,对于初学C语言的同学来说变量的存储总是觉得比较混乱。这里对C的变量做一个简单的小结,希望对大家有所帮助。
在学习开发51+RC500的过程中,发现了两种访问外部寄存器的操作方法
一种是用XBYTE方法来直接访问外部寄存器,一种是用基地址加偏移量的方法来访问外部寄存器,两种...
#include<reg52.h>
#define uint unsigned int#define uchar unsigned char
uchar code ...
本文较详细的介绍了keilc51可再入函数和模拟堆栈的一些概念和实现原理,通过一个简单的程序来剖析keilc51在大存储模式下可重入函数的...
今天来说说*** WARNING L15: MULTIPLE CALL TO SEGMENT这个问题!
其实这个问题实际上就是函数重入问题,在操作系统的多线程很常见。应该是引起注...
前日一些不成熟的想法,希望大家斧正。有啥不正确的,请一定告之与我。
Keil c51号称作为51系列单片机最好的开发环境,大家一定都很熟悉。它的一些普通的特性大...
单片机嵌入式编程中,最难的两部分是interrupt和MM(memorymanage),之所以有人觉得并不困难,那是因为太多数...
看到PIC单片机就感到亲切,今天开始对PIC16lf1936编程仿真,仿真器PICKIT3。
Mplab IDE的使用
一、接入PICkit3出现Tar...
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度,...
STM32软件复位(基于库文件V3.5)
void SoftReset(void)
{
__set_FAULTMASK(1); // 关闭所有中端
NVIC_SystemR...
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外...
因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败,查找失败原因,为堆空间不足分配导致。查看堆和栈分别设置了2K,按正常情况看应能满足分配...
前一段时间由于项目需要画了一个STM32F103的最小系统板,项目中需要很多硬件资源于是我将PB口作为独立按键输入口,板子打样回来后测试其...
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度...
一、什么是PendSV
PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容...
一、上篇回顾
上次代码中Task_Switch实现了两个任务的切换,代码如下:
void Task_Switch()
{
if(g_OS_Tcb_CurP == &am...