
IAP,In
Application
Programming
,它的意思是“在应用编程”,即在
运行时
程序存储器
可由程序自身进行擦写。通俗点讲,也就是说程序自己可以往程序存储器里写数据或修改程序。这种方式的典型应用就是用一小段
代码
来实现程序的下载,实际上
单片机
的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序
在里面
,片子上电后,开始运行这段程序,当检测到
上位机
有下载要求时,便和上位机通信,然后下载数据到存储区。大家要注意千万不要尝试去擦除这段ISP
引导程序
,否则恐怕以后再也下载不了程序了。
正是是因为有了IAP,从而可以使单片机可以将数据写入到程序存储器中,使得数据如同烧入的程序一样,
掉电
不丢失。当然写入数据的区域与程序存储区要分开来,以使程序不会遭到破坏。
要使用IAP
功能,与以下几个特殊功能寄存器相关:
ISP_DATA:
ISP/IAP
*** 作时的
数据寄存器
。
ISP/IAP:
从Flash
读出的数据放在
此处
,向Flash
写的数据也需放在此处
ISP_ADDRH:ISP/IAP
*** 作时的
地址寄存器
高八位。
ISP_ADDRL:ISP/IAP
*** 作时的地址寄存器低八位。
ISP_CMD:ISP/IAP
*** 作时的
命令模式
寄存器,须命令触发寄存器触发方可生效。
ISP_TRIG:ISP/IAP
*** 作时的
命令
触发寄存器。
当ISPEN(ISP_CONTR7)=1
时,对ISP_TRIG
先写入0x46,再写入0xb9,ISP/IAP命令才会生效。
当然能用了,下载程序(用户程序)时,此时控制串口的是内部的BOOT程序,当进入用户程序后,BOOT已经把硬件的控制权交出来了,此时掌握的串口的是你的用户程序。
这就像一辆车,一开始是别人驾驶,到地方了,他就把车子交给你,由你来开。
所以,关键是看哪个程序在控制。
以上就是关于STC单片机中的IAP功能是什么ISP/IAP 触发寄存器是什么全部的内容,包括:STC单片机中的IAP功能是什么ISP/IAP 触发寄存器是什么、51单片机串口用于下载程序了,那程序运行时,还能用于和计算机通信吗还是说要用另外的串口、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)