我想知道是否有人知道网上我可以购买或下载用C或C ++编写的软件模块的地方,用于微处理器和其他组件(如DAC,ADC或UART)之间的交互。有点像嵌入式C软件的git-hub。这个地方存在吗?
答案 0 :(得分:3)
您可能正在寻找一种称为“电路板支持包”或BSP的东西。对于给定的操作系统,它将具有一组驱动程序/库,以帮助您与硬件组件进行通信。
说,一些标准硬件接口,例如, 16550 Uart可能附带操作系统附带的驱动程序。
答案 1 :(得分:2)
您可能还想查看Jean Labrosse's "Embedded Systems Building Blocks"本书。它有一些直接的C库,用于处理UART,模拟I / O,定时器等。
当然,您仍然需要将它们连接到实际芯片的硬件实现(正如其他答案所示,您通常可以通过libs来帮助芯片供应商提供帮助),但它们可以成为一个方便的包装器。让您更轻松地将更高级别的软件从一个设备移动到另一个设备。没有惊天动地的东西,这对你自己来说特别难以做到,但它是为了拍摄,所以为什么不呢?即使它不是你想要的那样,也是一条腿。
答案 2 :(得分:1)
通常,设备制造商会为您提供一个可用于所有低级别内容的libc。
答案 3 :(得分:0)
首先,决定选择哪个芯片制造商......接下来,去他们的官方网站或联系他们,你会获得支持IO和其他通信内容的库。
答案 4 :(得分:0)
那么TI呢? BSP是我所知道的,但它们并不存在于O / S级以下的软件中。
第二,假设我想要软件让TI MSP430微控制器与DAC7565对话。我真的找不到以可靠的方式将这两者联系起来的软件。
我说的是一个完整的软件包,相当于Ruby中的gem,我可以在其中调用“OutputVoltage(unsigned int voltage,unsinged int channel)”等函数,并且无视硬件实现。
@nobugz是的,我同意,但这是非常克制的。 C应该像Ruby一样,你只能专注于你想做的事情,而不是因为软件的可用性而花时间限制自己......
答案 5 :(得分:0)
@Shaihi
我不是,我是一家工程公司的软件工程师,他们定制设计自己的电路板。我无法相信整个世界和软件工程的整个历史,我是第一个需要连接这个微控制器和这个DAC的人。因此它必须存在于某个地方。也许我不能抓住它,但有人,某个地方以前做过。
我是一个非常年轻的工程师,但似乎有成百上千的人最终一次又一次地编写相同的软件。最重要的是,由于有很多软件工程师非常擅长抽象和重用,我愿意打赌有很多工程师最终会一次又一次地重写相同的软件因为软件他们write与特定应用程序紧密耦合。
看起来似乎是浪费工程时间。
答案 6 :(得分:0)
您是否在A / D供应商的网站上查看了应用说明?他们经常有C代码。汇编语言代码的问题在于有许多不同的ADC和微处理器供应商以及许多不同的方式来连接芯片,因此它们无法提供通用库。此外,程序员可能想要轮询转换结束标志或允许芯片在转换完成时中断。它非常适用于应用程序。您最好的希望是供应商有一些示例代码,可以作为如何使用芯片的指南。好消息是这些外围设备的用户手册比20年前好很多。
此外,供应商可能还有应用程序工程师,他们将帮助您完成设计。