如何开始编程PIC(或类似产品)?
最好是在C.什么是一些很好的初学者工具包,教程,书籍等?也许一些小机器人项目的想法.
希望我不会因为这样说而遭受破坏,但我发现PIC的装配比其他任何东西都容易得多.我说的是PIC而不是PIC 32,这是完全不同的事情.
我经常为Olimex和非Olimex(SparkFun)主板频繁使用SparkFun.有时会有工作示例的链接,有时候没有,你必须到处逛逛.
我在PIC上切齿,但很久就把它们留在了身后.指令集非常低效,在开发板上它们没有"得到它".看起来他们现在"得到它",在20美元到50美元的范围内有大量的电路板可以让他们的脚湿透,实际上可能是太多电路板.可悲的是,有一天我迟到了,而且很短暂.
你会想要一些类似于AVR Butterfly的东西,一些不同的板载小工具来学习编程,和/或几乎裸板,只需要芯片,时钟/电源,最好通过USB通信UART或UART(这样你得到的方式)权力).注意SparkFun有很多解决方案,你可以插在USB线末端的小板,另一面是UART,电源和接地.使用简单的电路板,您可以添加自己的LED,无需移除或禁用评估板随附的gee whiz小工具.有一次,我使用SPI UART作为比特敲击SPI比比特敲击UART比特本身更容易.
我首先要通过计数指令和循环中的时钟数以及学习使用片上定时器来闪烁LED.然后学习缩放系统时钟或其他时钟分频器.然后我会进入UART或咬一串串口,以便您的程序可以与您通信.然后尝试接收串行/ UART数据,如果存在UART,还可以通过轮询I/O引脚并使用定时器或计数时钟,还可以使用中断,如果可能则中断引脚上的状态变化.了解如何使用上拉,获得Dallas Semiconductor单线温度传感器或类似的东西,而不只是下载工作代码.弄清楚如何与它进行通信(你可以很好地融化一个或多个这样做的部分,包括PIC和温度传感器,购买所有东西的额外内容).
所有这些基本技能都需要做机器人技术.嗯,踩着那个电机与UART或SPI总线没有什么不同,只是有点不同......
你说你的帖子里有机器人技术,但要么在你开始之前,要么你在购物时看到可用的电路板并下载和阅读芯片的数据表(在购买之前),你真的需要找到一个简单的项目.对我来说,它是一个红外线接收器,将你的电视遥控器指向PIC加上几个部分来自无线电小屋(一部分)然后要么闪烁一个LED以显示我收到的信息,或者稍后用UART敲出它.最终,我能够完全解析不同的IR协议,并且为了好玩仍然不时使用不同的微控制器.
找到一个接收物品,传感器等的项目.如果没有很多特殊设备,在家里可能更容易.基本上这只是一个时间问题,取决于设备.您只需以某种速率对输入引脚进行采样,并以某种方式将其发送给您自己,您可以在其中绘制图形或检查它,并意识到它的运行速度比我想象的慢4倍.我想知道为什么会这样,和/或如果我只是在这里更改此代码以适应较慢的速率,那么我的接收器将工作.
如果您尝试输出某些内容,您可能需要某种示波器或逻辑分析仪来"查看"您的输出,即使使用示波器,设备仍可能仍然不接受您的数据.最终你会想要一个输出一些东西的项目,当然你需要做好准备.根据你想要连接的内容,你可以获得两个微控制器板,并输出一个数据,好像它正在与设备通话,让另一个监视器和/或接收数据,就好像它是一个逻辑分析仪,给你一个方法以20美元而不是20,000美元来"看"数据.
哦,当你去嵌入时,忘记一切,你在编程课上教过.PIC和兔子半编译器和其他编译器不会是真正的C编译器,而是一种C编译器(有些可能与某些标准兼容,但对于嵌入式,你不需要那样).规则就像没有getos,没有全局变量,每个函数返回一个,函数应该少于X行代码等等.这些可能或者可能在计算机上有用,但是其中许多会在嵌入式世界中伤害到你.确保您可以反汇编或基本上看到C代码创建的说明.有时ROM和RAM非常有限,您不希望使用比您真正需要的资源多10到100倍的资源.或者因为你的编码风格而必须购买更大的部件.与闪烁LED一样,了解如何使用I/O引脚,在进入实际项目之前,学习如何为嵌入式编程同样重要.关于这一点的好处是你可以获得免费或演示编译器,并在购买任何硬件之前开始学习这些东西.可能还有PIC模拟器,您可以单步执行代码以了解正在发生的事情.
我的底线是你不应该把自己限制在PIC,购买sparkfun.com,购买几个不同的20美元评估板与不同的芯片(AVR,PIC,MSP430,绝对是一些基于ARM的评估板),摆弄所有他们 根据您的个人编码风格确定他们的优势和劣势和/或您的最爱.每个人都有一些不同的方式来实现I/O和定时器和中断等.
一种入门方法是使用Microchip提供的PIC入门工具包.它们通常是一个带有一个PIC的演示板,可用于编程微控制器,还可以执行一些带LED的简单项目,以及C编译器的评估版本.
有多个PIC系列,从8引脚,8位微控制器开始,只有256字的内存,高达32位的微控制器,带有数百KB的RAM和基于ARM内核的闪存.因此,在决定使用哪个PIC单片机系列之前,首先要了解要求(来自书籍和教程)可能是个好主意.
PIC robotics
在像亚马逊这样的在线书店中搜索" " 这一行的内容将产生许多关于使用PIC进行机器人技术的书籍.但是,应该注意的是,许多书籍实际上可能使用BASIC或其他非C语言编译器来编程微控制器,因此首先查看本书的内容以确保它提供C可能是个好主意.例子.
此外,应该注意的是,C编译器(可用的库等)之间可能存在一些不兼容性,因此最好还要检查您拥有的C编译器和本书中给出的代码示例是否真的可以使用彼此.这部分可能是开始嵌入编程更令人沮丧的部分之一.