C51错误集130101

2013-01-28

void*/void xdata
*

在值为0时有区别,因为它们还保存了存储区域,导致0值的void
xdata *如果转换为 void*再和NULL比较时,并不相等;直接把类似void xdata *这样的指针和NULL比较是可以的, 而把它转换成
void*再和NULL比较则不行

不小心将mempool设置到外边去了

stc的gpio有1-2个时钟的强上拉

stc单片机的gpio,
在从0到1的过程中, 会有
1-2个时钟的强上拉。导致:1.为了使用准双向口读取外界,应当避开强上拉期间,所以从0到1跳变之后,应当等待2周期以上;2.如果单片机的两个pin直接连接,一个是0,一个弱上拉从0跳去1,会导致1-2个周期的大电流通过,有损坏几率,应当避免这样的pin同时为0,或者使用高阻态。

没有在所有逻辑分支中都退出临界区

在进入临界区之后,
没有在所有逻辑分支中都退出临界区, 导致其后的程序不能进入中断; 现象例如, 串口发送只发送了一字节或者一半

这样的情况可以使用集中return的方式解决,如:

if... 
    goto    re;
if...
    goto    re;
re:
EXIT_CRITICAL();
return;

或者

do{
    if...
        break;
    if...
        break;
}while(0);
EXIT_CRITICAL();
return;

主从通信有概率收到地址干扰, 特别是485,
表现为不应该处于接收状态的机器莫名其妙的开启了接收; 处理方式, 数据包,校验

引入expect机制/对协议模板的这一缺陷进行修改

浪费了3个小时调试上,
错误原因是协议模板的filed数组容量填写错误, 试图发送超出数组标示容量指令, 这一错误本来已经产生badarg信息, 但却没有catch它,
今后应当注意调试手段的应用; 可能: 1.引入expect机制, 2.对协议模板的这一缺陷进行修改

2013-02-02 星期六 13:53:53

发送485数据忘记发地址,只发送了缓冲区...;导致主从无法通信

2013-02-02 星期六 13:54:55

lcd每次发送数据前忘记等待器件空闲;现象:先发的数据的后几个字被后发的数据覆盖

2013-02-03 星期日 16:34:40

为了调试而临时做的main,忘记初始化assert
prot;现象,断点命令没有任何反应

忘记给要输出的变量转换成int类型,printf输出乱码

输出已分配内存指针的时候,忘记将块头自身的 4个字节累加上去;导致遍历失败,卡死

NULL和0值的u1
xdata*
的变量比较相等, 而和同样类型的0值宏比较,则不相等; 还是用类型转换比较好

for循环中忘记更新变量...低级错误;卡死

2013-03-12 星期二
21:07:04

STC15F单片机的SPI

SPEN=0时,SS为gpio

SPEN=1,SSIG=0时:

,MSTR=0时,SS为从机被选择

,MSTR=1是,SS=0则强制MSTR变为0且被选择;SS=1则为主机(注意此状态下若SPI空闲,则MOSI和SCLK为高阻态,避免总线冲突)

SPEN=1,SSIG=0时:

,SS总是作为gpio

,MSTR=0时,SLCK是输入;MSTR=1时,SLCK是输出。(和前面的状态不同,不会形成高阻态)

总结,如果有多主情况,应当SSIG=0;单主情况,SSIG=1才可以拿SS当GPIO使用

其它注意事项:

CPHA=0时,SSIG必须为0,否则未定义;且SS需在每两个字节之间拉高一次,以满足相位需求;

2013-03-13 星期三 15:51:31

弄混OV和CY

PSW.CY进位标记;PSW.AC辅助进位标记;PSW.OV溢出标记;PSW.P奇偶标记;

CY:.7有进位;    AC:.3有进位;

OV:有符号运算存在溢出,两正数加结果为负数/两负数加结果为正数,.6有进位而.7没有/.7有进位而.6没有,则1;

P:ACC中1的个数为奇数则1,否则0;

2013-03-26 星期二 23:01:27

变参函数的参数注意事项

若传递常数如 1,会被解释为 u1,需要写成(u2)1或1u,否则导致混乱

若传递指针,需要(u2),否则指针可能会被作为3字节处理

来自为知笔记(Wiz)

C51错误集130101

时间: 2024-09-28 19:00:09

C51错误集130101的相关文章

IBM CE 错误集之(FNRCS0005E)

// 通过ObjectStore获取所有的StorageArea对象,CEUtil是我封装的一个获取ObjectStore 的工具类 ObjectStore os = CEUtil.getStore(); StorageAreaSet areaSet = os.get_StorageAreas(); 执行以上代码,ObjectStore 获取成功,获取StorageArea时出现如下错误: Exception in thread "main" com.filenet.api.excep

java总结,错误集

java中abstract怎么使用 abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法. 2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以":"代替.需要子类继承实现(覆盖). 注意:有抽象方法的类一定是抽象类.但是抽象类中不一定都是抽象方法,也可以

C# net core程序调试错误集(持续更新)

目录 C#程序调试错误集 1.依赖注入错误An unhandled exception has occurred while executing the request. 1.1 出错现象 1.1.1原因是net core在调用ValueController的时候,发现UnitOfWork没有进行依赖注入. 1.2 出错现象 1.2.1 原因是net core在调用UnitOfWork的时候,发现IPBoxContext没有进行依赖注入. 1.3 解决方法 C#程序调试错误集 1.依赖注入错误A

【React Native错误集】Import fails with "Failed to execute 'ImportScripts' on 'WorkerGlobalScope'"

错误1.Import fails with "Failed to execute 'ImportScripts' on 'WorkerGlobalScope'" 解决1.如果是在Degbug模式下,关闭turn off Debug JS Remotely.再重新运行即可. 错误2:rn报错 unhandled JS Exception: Requiring unknown module "49". if you are sure the module is ther

【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.

错误1:* What went wrong: Execution failed for task ':app:installDebug'. > com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_INSUFFICIENT_STORAGE 解决1:内存不足导致,删除模拟器或真机中其他不用的应用程序,释放空间. 错误2:the development

visual studio编译错误集(转)

1.error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 在项目属性->Configration Properties->C/C++->Command Line页面的Additional Options中加入/wd4430 2.error MSB3073: The command regsvr32 /s /c 解决办法 最近将VC2002 代码移植到VC2010,

UI错误集

当遇到程序崩溃时首先应该查看错误的原因,找到问题后进行解决: 如果是bug,查看哪个功能出现问题,对其分析并查找问题后解决: 像图片,文字显示有问题的时候,要么是加载资源的时候有问题,要么是设置的frame或者约束有问题, 再就是传入数据的时候没用点语法用了下划线. /* 错误一: reason: '[<ViewController 0x7fd1086147c0> setValue:forUndefinedKey:]: this class is not key value coding-co

QT 错误集1

MinGw + CodeBlock + QT4.5 类定义后面要加";" 函数的实现部分,如果定义部分有void,则实现部分不能少; 检查include文件有无少; error: request for member `show' in `((MainWindow*)this)->MainWindow::rightform', which is of non-class type `RightForm*'|"->"与"."问题 函数&

JAVA程序调试错误集

这边文章是我记录调试JAVA程序的错误,每次遇到都会更新! 错误1.HTTP Status 405 - HTTP method GET is not supported by this URL 解决办法:删除super.doGet(request, response); 错误2. HTTP Status 404 - /Simple/GetAddress ------------------------------------------------------------------------