我是靠谱客的博主 忐忑发夹,最近开发中收集的这篇文章主要介绍创界uVision下的ADuC845的工程文件➤ 01开发环境➤ 02交互方式➤ ※ 结论,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
➤ 01开发环境
ADuC845 是一款来自ANALOG DEVICES 公司的,带有高分辨率24-bit Δ − Σ Delta - Sigma Δ−Σ ADC。它的基本特性:
- 62-k Flash, 4-k EEPROM, 2.304k RAM
- DAC:12bit, DAC-16bit
- ADC:24bit
▲ ADuC845内部功能图
1.开发几种目录
(1) 根目录
C51ADuC845
(2) UserCode
D:zhuoqingwindowC51ADuC845UserCode
2.设置新的项目
选择Project中的New uVision Project 。选择: Legacy Device Data(no RTE) 选择 Analog Devices中的ADuC845 。
▲ 设置TargetADUC845
▲ IDE for ADuC845
▲ Option for ADc845
▲ Option for ADc845-Target
▲ Option for ADc845-Output
3.添加文件
使用 c51pf ad 命令来添加 UserCode中的主要开发文件。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# C51CF.PY -- by Dr. ZhuoQing 2020-04-20
#
# Note: Copy UserCode C51 file into C51 Projects
#============================================================
from head import *
import shutil
#------------------------------------------------------------
C51UserCode = r'd:zhuoqingwindowc51'
#------------------------------------------------------------
windowtitle = tspgetwindowtitle()
#printf(windowtitle)
projectpath8g = r'D:zhuoqingwindowC51STCUserCodeSTC8G'
projectpath8h = r'D:zhuoqingwindowC51STCUserCodeSTC8H'
projectpath15 = r'D:zhuoqingwindowC51STCUserCodeSTC15'
projectpathad = r'D:zhuoqingwindowC51ADuC845UserCode'
#------------------------------------------------------------
for t in windowtitle:
if t.find('μVision') >= 0:
projectpath = os.path.dirname(t.split('-')[0])
break
printf(projectpath)
if len(projectpath) == 0:
printf("uVision IDE is not opened !a")
exit()
#------------------------------------------------------------
copypath = projectpath8g
if len(sys.argv) > 1:
if sys.argv[1] == '15':
copypath = projectpath15
elif sys.argv[1] == '8g':
copypath = projectpath8g
elif sys.argv[1] == '8h':
copypath = projectpath8h
elif sys.argv[1] == 'ad':
copypath = projectpathad
#------------------------------------------------------------
files = os.listdir(copypath)
count = 0
for f in files:
sourcefile = os.path.join(copypath, f)
if not os.path.isfile(sourcefile): continue
targetfile = os.path.join(projectpath, f)
if os.path.isfile(targetfile):
printf("File %s is existed."%targetfile)
continue
shutil.copyfile(sourcefile, targetfile)
printf('%s-->%s'%(f, targetfile))
count = count + 1
printf('Copy %s files.a'%count);
#------------------------------------------------------------
# END OF FILE : C51CF.PY
#============================================================
4.下载调试
使用ADIDWNLD软件下载相应的HEX。
▲ 下载软件
➤ 02交互方式
1.加入UDP
使用insudp加入相关的python通讯命令:
insudp up 2255
可以在python文件中加入下面相关的代码。
#------------------------------------------------------------
UDP_HOST = '127.0.0.1'
UDP_PORT = 2255
UDP_BUFSIZE = 0x1000
up = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
up.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, UDP_BUFSIZE)
up.settimeout(0.2)
def upsend(data):
ADDR = (UDP_HOST, UDP_PORT)
if type(data) != str:
data = str(data)
data = bytes(data, 'gbk')
up.sendto(data, ADDR)
def uprecv():
try:
data, ADDR = up.recvfrom(UDP_BUFSIZE)
except socket.timeout:
printf('Meter time out.')
data = ''
if len(data) > 0:
return data.decode('utf-8')
else: return ''
def upval():
upsend('MEMOS')
splitstr = uprecv().split(' ')
data = []
for val in splitstr:
if len(val) > 1:
data.append(eval(val))
return data
#------------------------------------------------------------
2.获得信息
使用下面命令可以获得 ADI ADuC8XX Download 消息窗口中的内容。
upsend('MEMOS')
printf(uprecv())
➤ ※ 结论
- 通过uVision开发环境完成ADI ADuC845单片机的软件开发;
- 通过加载UserCode来获得之前一款;klfahbde相关的代码;
- 使用Insudp命令获得Python与Downloader之间的通讯。
■ 相关文献链接:
- ADuC845
最后
以上就是忐忑发夹为你收集整理的创界uVision下的ADuC845的工程文件➤ 01开发环境➤ 02交互方式➤ ※ 结论的全部内容,希望文章能够帮你解决创界uVision下的ADuC845的工程文件➤ 01开发环境➤ 02交互方式➤ ※ 结论所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复