首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Delphi环境下的单片机编程

Delphi环境下的单片机编程
EN

Stack Overflow用户
提问于 2012-05-28 20:34:56
回答 5查看 2.3K关注 0票数 2

我一直在搜索一些关于微控制器编程的信息,但我找到的信息要么超出了我的理解,要么看起来并不存在。我在找更容易理解的东西!我是编程新手,来自SQL DBA背景,我认为学习一些编程基础知识,然后自学Delphi会比通过我公司疯狂的设计变更记录系统实现一些更改要快得多!经过几年的Delphi编程,我可以轻松地编写数据库应用程序,并且我希望能够更上一层楼。我们在PCB上使用PIC微控制器,主要是PIC18F系列。PICS上的软件是用C语言编写的,但是有一些参数值是由使用ActiveX控件与PIC接口的Delphi应用程序写入的。基本上,SQL数据库保存参数信息,Delphi客户端应用程序检索这些值,将它们传递给ActiveX控制器,后者在PIC上执行所有低级工作。例如,内部的EEPROM将有一个映射,在任何特定的地址中,将存储一个值来打开或关闭某些东西,或者保存一个整数值等。我有一个MPLAB工具包,它有一个ICD2设备,可以读取和写入内部EEPROM的值,我知道如何使用MPLAB软件更改这些十六进制值。我的希望不是学习嵌入式微控制器编程;而是我可以编写一个Delphi应用程序,它可以做一些类似于MPLAB软件的事情。例如读取和写入值到EEPROM内的某些存储器地址。如果有人能为我指出任何可能已经存在的库或组件的正确方向,以弥合简单的Delphi表单应用程序和编写低级PIC EEPROM之间的差距,我将不胜感激。我怀疑是否存在这样简单的界面,但我想我应该问一下。总而言之,我希望能够有一个简单的表单应用程序,具有一些编辑框,用户可以键入或从下拉框中选择参数值,单击按钮并将这些参数值分配到特定的EEPROM存储器地址。感谢您的阅读,如有任何意见,我们将不胜感激。

问候

KD

EN

回答 5

Stack Overflow用户

发布于 2012-05-28 23:57:21

2015年更新答案:

为什么不是Raspberry Pi with FreePascal and Lazarus呢?到目前为止,电路板的价格从5美元到25美元不等,开发工具是免费的。

如果你喜欢使用Pascal,你可能会发现Free Pascal在小型嵌入式系统上很有用,但我相信你至少会发现它可以在基于Linux的ARM嵌入式系统上编译。您在两端都使用pascal这一事实不太可能帮助您完成任何重大任务。

如果你想一直到最小的PIC微控制器,你会发现它几乎总是你将要使用的C语言的一个变体。坦率地说,在这个级别上,差异并不是很大。如果你会写Pascal,你就可以在一天内学会足够的C语言,以便与微控制器一起使用。

不要害怕使用大多数微控制器支持的本地语言。我个人最喜欢的是Rabbit微控制器,以前是Z-World的,现在是digi的--我想我花了大约100美元买了第一块电路板和开发工具包。

将这样的应用程序与delphi接口是相当容易的,通常现在,我会通过有线以太网或无线(Wifi)使用TCP/IP进行接口。但如果你真的想这样做,你可以使用RS-232或RS-485串行链路。(RS-485的优点是您可以将其布线长达5英里。)如果我使用串行链路,我可能会在两端实现类似Modbus的东西,如果我只是想来回发送一些数字数据,如果我要做一些面向文本的事情,我想我会在嵌入式控制器上编写一个小型HTTP web服务器,而现在大多数主板都有足够的HTTP服务器演示程序,使这一过程变得非常容易。

票数 2
EN

Stack Overflow用户

发布于 2012-05-30 20:57:41

我是MikroElectronika的铁杆粉丝,使用他们的Pascal工具在pic16系列单片机上取得了巨大的成功(触摸屏界面,ZigBee等)。http://www.mikroe.com/

票数 2
EN

Stack Overflow用户

发布于 2012-05-28 21:14:07

Delphi输出Win32和Win64原生应用程序,你可以编写与某些设备交互的软件,如果PCB板有串行通信或I2C,你可以用Delphi编写与物理设备交互的软件。

但是如果你想自己给这些设备编程,那就编写在这些设备上运行的软件,这是用Delphi做不到的。我建议你买一台Arduino,它是微控制器编程初学者的绝佳选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10790162

复制
相关文章
当我们谈VR时,一定不会错过它
如今,整个资本市场对VR的狂热程度似乎略“魔怔”。据调查,在今年3月的其中1周时间内,VR市场所获得的投资额高达11亿美金,这比VR市场在15年全年所获得投资额还要高。所以说,“2016年将会成为VR
镁客网
2018/05/28
3630
为什么要在addsubview:一个view对象后,release它
为什么imgView要release呢?可能很多人跟我一样,之前不是很清楚。 我们逐行分析一下
EltonZheng
2021/01/22
3990
当我们和计算机交互时,它看到的是什么?
计算机虽然有了人工智能的程序支持,但事实上也不能将其机器学习的功能等同于像人类那样。至少,到目前还不是这样。那么,向Google的图片识别或者Facebook的M应用等一类系统,它们是怎么能够理解自然
新智元
2018/03/13
6640
当我们和计算机交互时,它看到的是什么?
ios objc向一个对象发送消息时,发生了什么?
根据对象的isa指针找到该对象所属的类,去obj的对应的类中找方法 1.首先,在相应操作的对象中的缓存方法列表中找调用的方法,如果找到,转向相应实现并执行。 2.如果没找到,在相应操作的对象中的方法列表中找调用的方法,如果找到,转向相应实现执行 3.如果没找到,去父类指针所指向的对象中执行1,2. 4.以此类推,如果一直到根类还没找到,转向拦截调用,走消息转发机制。 5.如果没有重写拦截调用的方法,程序报错。
赵哥窟
2018/09/13
1.8K0
ios objc向一个对象发送消息时,发生了什么?
当我们在谈免费游戏时
技术改变思想 本来不想用“当我们在谈XXX的时候,我们在谈什么”这种俗气的标题,但这个文章的内容,确实在一些人的想法里,还是有那么一点俗气的。所以用这个标题,也算文题对应吧。免费游戏,道具收费(Free To Play)作为一种游戏类型的存在,似乎是一个最近10年才开始的事情,但在中国,这种类型几乎成为了唯一的游戏类型。一切产品,都是因为有用户的市场需求才会存在,但是免费游戏这个市场,又是如何被挖掘出来的呢?——这对于看清楚免费游戏背后的用户需求,应该是有很多好处的。 2006年的某天,我的老板给我打了个
韩伟
2018/03/05
2.3K1
当我们在谈免费游戏时
一个好像没有做任何改变的参数
实际上就是一行命令在运行比对过程,但是呢,参数太多了,调起来很麻烦,通常如果不理解的话就不建议修改参数。
生信技能树
2019/11/06
1.5K0
一个好像没有做任何改变的参数
当我们没有加减乘除之后
当我们看到无法使用加法和减法的时候,我们的第一印象应该就是想着转化思维,去思考计算机的底层到底是什么运算呢?
鹏-程-万-里
2020/03/19
4880
当我们没有加减乘除之后
为什么都说学C语言都是没有对象的?
首先介绍一下C语言:C语言是一门面向过程的、抽象化的通语言,主要应用于底层开发,例如强悍的Linux操作系统,以及最近比较火的Python都是C语言编写的。
小林C语言
2020/04/02
1.7K0
当我们谈注册中心时谈什么?
注册中心对于服务提供者需要具备服务注册、注销的能力,对于服务消费者需要提供查询服务、感知服务变化的功能。当然还需要解决一些其他问题才能成为一个优秀的注册中心,如高可用、高性能、水平扩展能力、服务探活能力、路由功能、多机房(多活)能力等。
龟仙老人
2020/12/16
6020
批量单聊消息发送时,没有返回发送失败的账户和错误码,不回调
我要向(“a”, "b")两个个用户发送批量单聊消息,如果a账户存在(已登录过IM或已导入),而b账户不存在,通过REST API发送,并没有返回b发送失败的信息,而是返回OK,并没有文档中所说的ErrorList字段,如下
用户6968426
2020/02/19
2.5K1
批量单聊消息发送时,没有返回发送失败的账户和错误码,不回调
如何通过反射调用对象的方法?
import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { String str = "hello"; Method m = str.getClass().getMethod("toUpperCase"); System.out.println(m.invoke(str));
唐怀瑟
2018/08/30
2.9K0
当我尝试着把老项目 Webpack 迁移到 Vite 时,发现并没有这么香
最近,就 前端开发过程中的痛点及可优化项 做了一次收集。 其中,构建耗时、项目编译速度慢 的字眼出现了好几次。
用户3806669
2021/04/29
13.4K1
当我尝试着把老项目 Webpack 迁移到 Vite 时,发现并没有这么香
java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
Fisherman渔夫
2019/07/31
1.5K0
java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
C#new一个对象时
问题看似简单,不过事实上,CLR做的比这要多。。。 要准确回答这个问题,还要分情况来说。
vv彭
2020/10/27
6800
当我们谈部署时,我们在谈什么?
计算机网络把各地的计算机连接了起来,只要有一台可以上网的终端,比如手机、电脑,就可以访问互联网上任何一台服务器的资源(包括静态资源和动态的服务)。
神说要有光zxg
2022/04/12
6180
当我们谈部署时,我们在谈什么?
当我们谈论内容时,我们在谈什么?
作为数字音乐界『双App』之一的虾米音乐迎来了一个爆款内容:《我的少女时代》主题曲《小幸运》在虾米音乐播放量超过三千万,这首由田馥甄演唱的歌,在数字音乐平台的表现很是亮眼,虾米音乐则凭这一爆款内容在用户获取等方面收获满满。过去一个平台可以成就一个明星、一首歌曲,现在反过来,一首单曲竟然具有如此大的魔力,给平台带来助力。这一现象本质是,移动互联网进入内容时代,而《小幸运》的成功给内容产业还是带来了些许启发的。 内容究竟是什么鬼? 2015年可谓中国内容创业的大年,音乐、视频、广播、文学、动漫诸多数字内容领域都
罗超频道
2018/04/28
9330
序列化和反序列化的底层实现原理是什么?
(1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;
chengcheng222e
2021/11/04
4690
深入分析Java的序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:
哲洛不闹
2018/09/18
7460
深入分析Java的序列化与反序列化
Antd给表格一个斜线分隔(通过css改变)
代码: const [ columns, setColums ] = useState([ // 主要代码 title: <div style={{ "position": "relative" }}> <div style={{ "text-align": "right" }}>参数</div> <div style={{ "text-align": "
江一铭
2022/06/16
7990
Antd给表格一个斜线分隔(通过css改变)
当我谈论URL编码时我在谈论什么
今天收到一个 Bug, 一个超级奇怪的人名叫做 Isxxxxa Onxxxna Anton
szhshp
2022/08/15
2830

相似问题

如何在单击外部summernote编辑器时禁用summernote?

10

Summernote js编辑器

11

如何关闭summernote编辑器焦点

115

Summernote编辑器位于summernote工具栏的后面

13

Summernote编辑器和脚本标记

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文