标签: microcontroller

初级嵌入式系统项目?

我的一名学生今天早上来找我,并询问了一些嵌入式系统(理想的硬件+软件设计)项目的想法,这些项目将在未来6个月内完成.他是一名新生,缺乏经验,但如果指向正确的方向,他有动力去学习.完成这个项目的目的,除了在电气/计算机工程和计算机科学方面受到影响之外,还要使他的简历在2009年夏季实习期间更具吸引力.

我的问题是:

  1. 什么是一些很好的一般资源来理解简单的硬件,微控制器,以及什么固件/软件的基础知识,几乎没有任何经验?我自己的背景在这里有点无益,因为我通过正式培训学到了很多东西(他对此感兴趣,但现在想要开始)并通过实习我通过裙带关系获得大一学年;-)(他想要做的) ,但有一个鸡和蛋的问题)

  2. 适当范围的一些有趣的项目想法是什么?

一些初步想法:

  • 一款可以点亮LED的Jeopardy风格的游戏,首先按下他/她的按钮的玩家是赢家,也许微控制器可以在几个7段显示器上保持得分.
  • 音调发生器(用户设置DIP开关(或者更加雄心勃勃,按下PS2键盘上的按键)来设置频率),微控制器使用D/A转换器输出该频率的正弦波
  • 某种小型传感器(可能是他宿舍的温度传感器,可以作为RSS提供器提供结果).使用Rabbit Semiconductor的RabbitCore,这个项目的基于Web的方面将变得非常容易.

关于微控制器套件的所有建议都很棒!我非常感谢其他项目的想法(即"学生应该设计X").谢谢!

hardware embedded microcontroller

9
推荐指数
1
解决办法
2万
查看次数

8位微控制器的线性插值

我需要使用PIC汇编语言在8位PIC单片机(特别是16F627A,但这应该无关紧要)上的两个值之间进行线性插值.虽然我在这里寻找的算法与实际代码一样多.

我需要取8位起始值,8位结束值和两位之间的位置(当前表示为8位数0-255,其中0表示输出应该是起始值,255表示它应该是最终值值,但如果有更好的方法来表示,则可以改变)并计算插值.

现在PIC没有除法指令所以我可以编写一个通用除法例程并在每一步有效地计算(BA)/(x/255)+ A但我觉得有可能有​​一个更好的方法来做到这一点一个微控制器,而不是我用c ++在PC上做的方式

有没有人有任何建议在这个硬件上有效地实现这个?

algorithm microcontroller assembly

9
推荐指数
1
解决办法
5061
查看次数

通过软件控制USB灯

我有一个USB供电灯.我希望能够用软件打开和关闭它.我将它附加到Linux计算机上.我有一个以前项目Atmel ATtiny2313,但我宁愿用一个简单的黑客来做这个,而不是重新利用我的微控制器.

这可能吗?我怀疑这是不可能的,因为没有某种USB兼容固件,计算机不会与设备通信?

我发现了这个问题,其中有一条评论暗示OP使用LM317电压调节器来改变USB电压.我不认为这适用于我,但我想我会提到它.

更新:

看起来我可以将USBtiny放在我的微控制器上,然后我可以将它连接到灯,然后我可以编写一个应用程序来控制控制器.听起来好像很多工作.我宁愿做一个简单的黑客,但我缺乏USB的经验.

linux hardware usb microcontroller atmel

9
推荐指数
1
解决办法
7164
查看次数

CRC16校验和:HCS08与Kermit对比XMODEM

我正在尝试将CRC16错误检测添加到Motorola HCS08微控制器应用程序中.但是,我的校验和不匹配.一个在线CRC计算器提供了我在PC程序中看到的结果和我在微观上看到的结果.

它调用micro的结果"XModem"和PC的结果"Kermit".

这两个古老的协议指定使用CRC16的方式有什么区别?

microcontroller checksum crc crc16

9
推荐指数
1
解决办法
1万
查看次数

使用标准GCC编译ARM Cortex M3?

是否可以使用带--target开关的vanilla GCC编译ARM Cortex M3(LPC1768)的C/C++代码,还是需要编译GCC,binutils等来执行此操作?

embedded microcontroller gcc arm cortex-m3

9
推荐指数
2
解决办法
1万
查看次数

我可以在Microchip C18中创建一个接受ram和rom指针的函数吗?

当我声明一个接受的函数const char*并且我传递一个字符串文字时,我得到一个

警告:[2066]类型限定符在分配中不匹配

因为字符串文字是rom const char*.反过来也是这样.

尽管PIC是哈佛架构,但内存被映射到一个连续的地址空间,因此理论上应该可以以相同的方式支持ram和rom指针.可能我必须使用rom指针,因为它们是24位而ram指针是16位.

但是,只是将a转换const char*为a const rom char*不起作用.

c microcontroller pointers pic

9
推荐指数
1
解决办法
2748
查看次数

找到四次方程的正实解的专门算法?

我正在寻找一种专门的算法来找到具有实系数的四次方程的正实解(也称为4阶的二次方程或多项式方程).他们有以下形式:

a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0

一个1,一个2,......是实数.

它应该在微控制器上运行,这需要进行大量的计算.因此,性能是一个问题.这就是为什么我正在寻找一种专门用于正解的算法.如果可能的话,我希望它能够计算出确切的解决方案.

我知道有一种通用的方法来计算四次方程的解,但它涉及计算方面.

有人能指出我正确的方向吗?

编辑:

从答案来看:有些人似乎误解了我(虽然我很清楚).我知道解决四次方程的标准方法.他们不是为我做的 - 他们既不适合记忆,也不适合他们.我需要的是一种高精度的高效算法,只能找到具有实系数的四次方程的真实解(如果有帮助).我不确定是否有这样的算法,但我想你们可能都知道.PS:downvotes不是来自我.

algorithm math microcontroller

9
推荐指数
1
解决办法
2928
查看次数

电子元器件编程问题

任何人都可以非常了解空调控制器之类的元素,以及如何在汽车中设置温度的部件,带led显示屏等现在可编程?因此,假设我们有一个带有按钮的塑料面板,LED显示屏,什么不是,当我按下"+"时,我想要增加温度或者采取一些机械部件来采取行动.

  1. 我猜测有ROM和一些CPU芯片,其中存储了控制部件的软件.现在这个软件通常用Java或低级C(++?)编写,甚至更低?

  2. 是否有任何常用的库用于此类事情?或者芯片预编程了这些以及可能是一些基本的操作系统?

  3. 该芯片是如何用软件编程的?有什么样的ROM写入设备是对的吗?

  4. 这是什么东西可以通过我的笔记本电脑在家里玩,如果是这样,除了笔记本电脑我还需要什么设备?

有人能够指出我可以阅读更多内容的资源吗?我试图大致了解它是如何工作的,它是如何涉及的以及需要什么技能来使这个工作.我理解这是一个很大的话题,但是想知道如何做到这一点,即使我自己也不能做这样的事情,我想了解这个过程以及涉及到什么

再次,如果问题和我的解释令人困惑,我道歉.我发现很难解释

embedded microcontroller electronics

9
推荐指数
1
解决办法
1055
查看次数

是否可以将整个数组保存在cpu寄存器中

在下面的代码中,

int main( )
{
    register int arr[4];
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

是否有可能在某些cpu寄存器中分配'arr'.(考虑cpu有4个或更多寄存器).

或者编译器会忽略数组的寄存器存储类.

c compiler-construction embedded microcontroller microprocessors

9
推荐指数
4
解决办法
3540
查看次数

为什么int是MSP430-GCC中的小整数的优先级而不是(无符号)char

在msgpcc(GSP for MSP430微控制器)手册中,作者写道:

如果要在函数中使用小整数,请使用int而不是char或unsigned char.生成的代码将更有效,并且在大多数情况下,实际上不会浪费存储.

为什么int效率更高?

UPD.为什么(u)int_fast8_t在mspgcc中定义(unsigned) char,而不是(unsigned) int.据我所知,(u)int_fast*_t应该定义为具有足够大小的最有效类型.

c microcontroller assembly msp430 mspgcc

9
推荐指数
3
解决办法
2958
查看次数