嵌入式小记
stc8中
ADC用高阻
震动马达用推挽
IIC开漏
灯准双向
独立按键准双向
推挽只能3.3V
开漏取决于外部上拉
浮空输入适用于外部有上拉或下拉的状态
外部无状态缺定内部使用上拉或下拉
开漏读和写,输入和输出,准双向只用输出,高阻无电流。
L1和L2可能没定义,如果是库函数可能没导入。
L5中断里有printf可能截断数据。
est中断中有printf
终端业务切换,数据可能被截断。
L107是内存小了,调大即可,魔法棒。
IIC软硬实现要统一,要么都软要么都硬。
L16表示有代码段未被调用。
L104函数多重定义。
L107 --------------->Target---------------------->MemoryModel = Large:va
L6128 函数未定义或未加依赖
//频繁改:外部:xdata大
//程序代码区域;code(不修改)
准双向口
输出电流:灌电流(外部电流流入引脚)可达 20mA ,拉电流(引脚输出电流到外部)为 270~150μA 。
输出电压:弱上拉特性,输出高电平接近电源电压 ,输出低电平接近 0V 。
输出方式:可输入也可输出。内部具有弱上拉电阻,输出高电平时靠上拉电阻提供微弱电流;输出低电平时,引脚可吸收较大灌电流。作为输入时,可读取外部电平状态。
推挽输出
输出电流:强上拉输出,可达 20mA,需加限流电阻,防止电流过大损坏电路。
输出电压:输出高电平接近电源电压 ,输出低电平接近 0V 。
输出方式:只能用于输出。通过内部两个互补的晶体管(类似推挽放大器结构),一个导通一个截止,可提供较大驱动电流,驱动能力强。
高阻输入
输出电流:几乎为 0,电流既不能流入也不能流出。
输出电压:无实际输出电压,仅用于检测外部输入电平,自身不产生驱动电压。
输出方式:仅用于输入。内部电路使引脚呈现高阻抗状态,对外部电路影响极小,可准确检测外部电平高低。
开漏输出
输出电流:取决于外部上拉电阻和负载情况,自身无固定输出电流值。
输出电压:输出低电平接近 0V ;若无上拉电阻,无法输出高电平,加上拉电阻后,高电平接近上拉电阻所接电源电压。
输出方式:可读外部状态也可对外输出。内部上拉电阻断开,输出低电平时靠内部晶体管导通实现;输出高电平时需外部上拉电阻提供电流,读取外部状态时,引脚呈现高阻态检测外部电平。