查看: 1994|回复: 19
|
请问哪里有的学ISD1700 用 SPI 方式连接PIC
[复制链接]
|
|
我需要用 PIC 来 control 一个voice recorder chip ISD17240 用 SPI 方法。 芯片我得到了, 但是问题出在我完全看不懂 ISD 的 datasheet。 觉得很复杂,不知从何下手。请问哪里有的学或者有谁能教我写program?我会感激不尽。。。 |
|
|
|
|
|
|
|
发表于 14-2-2009 10:46 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 15-2-2009 04:44 PM
|
显示全部楼层
回复 2# fritlizt 的帖子
那么要怎样开始学?有什么东西要注意? 真的很谢谢你。。。 |
|
|
|
|
|
|
|
楼主 |
发表于 29-3-2009 12:49 PM
|
显示全部楼层
回复 3# cincailo 的帖子
现在我已经会看ISD17240的datasheet。只是想问看要initialise SPI 在PIC 里要如何?什么情况要用到 MAX232? 有朋友告诉我要用MAX232 来控制baud rate,是这样吗? |
|
|
|
|
|
|
|
发表于 29-3-2009 10:55 PM
|
显示全部楼层
原帖由 cincailo 于 29-3-2009 12:49 PM 发表
现在我已经会看ISD17240的datasheet。只是想问看要initialise SPI 在PIC 里要如何?什么情况要用到 MAX232? 有朋友告诉我要用MAX232 来控制baud rate,是这样吗?
只是想问看要initialise SPI 在PIC 里要如何?
-〉请参考pic datasheet. MSSP部分。
什么情况要用到 MAX232?
-〉当你要做到TTL -> 232 level shifting的时候。最普通就是mcu uart和电脑沟通。
原因是虽然都是uart,不过mcu不能直接和pc serial port. 电压不一样。 所以max232就是一个转换器。 把TTL转成rs232 voltage level
有朋友告诉我要用MAX232 来控制baud rate,是这样吗?
-〉baudrate由你的mcu 控制。max232只是一个level shifter.
当然max232也是有maximum baudrate.资料传送速度大过max baudrate就不能正常操作。
你的情况时你要用spi.这个不需要用到max232.除非你的device,需要232 level 的signal. |
|
|
|
|
|
|
|
楼主 |
发表于 30-3-2009 12:35 PM
|
显示全部楼层
回复 5# fritlizt 的帖子
谢谢你。
我一直都有看你讲的MSSP 部分,有一点东西不明白。里面说到在 SPI
mode,只有在slave mode,才有用到第四个pin, bar SS, slave select。如果我的PIC 有时也有输送data,有时也有接受data,那么它还是master chip? 是不是只要control part 在PIC, 那么那个PIC就是 master ?
MSSP 部分里面有 MSSP Status register, MSSP control register 1 和 SSPBUF, 我需要configurate 它们吗?还是一个setup command 就行了? 例如:setup_spi (spi_master | spi_l_to_h | spi_clk_div_16);
谢谢。 |
|
|
|
|
|
|
|
楼主 |
发表于 3-4-2009 04:55 PM
|
显示全部楼层
回复 6# cincailo 的帖子
有多了一个问题,从 PIC master去 其它chip, slave (我是ISD voice recorder chip), 用 SPI 连接法, PIC 里有四个pins, 就是 SDO (从PIC 去 ISD),SDI (从ISD 去 PIC) ,SCK和SS。想请教如何可以知道SDI 是输送什么data byte 回去 PIC? 因为只有一条线, PIC SDI 连去 ISD MISO,要如何放 LED 或什么来显示data? |
|
|
|
|
|
|
|
发表于 4-4-2009 12:08 AM
|
显示全部楼层
原帖由 cincailo 于 3-4-2009 04:55 PM 发表
想请教如何可以知道SDI 是输送什么data byte 回去 PIC? 因为只有一条线, PIC SDI 连去 ISD MISO,要如何放 LED 或什么来显示data?
如果你真的是有心想要学SPI, 那你就用两颗 PIC MCU , 用SPI 的方法链接, 第一个MCU(Master)不断的送已知的Data 出去, 比如'x', 然后另一颗PIC MCU (Slave)把收到的send到RS232用Hyperterminal 显示出来,你应该要得到’x‘ 。
当你做成这个后, 你之前问的SPI的问题就自然而然的自解了。 |
|
|
|
|
|
|
|
发表于 4-4-2009 01:13 AM
|
显示全部楼层
原帖由 cincailo 于 30-3-2009 12:35 PM 发表
谢谢你。
我一直都有看你讲的MSSP 部分,有一点东西不明白。里面说到在 SPI
mode,只有在slave mode,才有用到第四个pin, bar SS, slave select。如果我的PIC 有时也有输送data,有时也有接受data,那么它还是 ...
setup_spi (spi_master | spi_l_to_h | spi_clk_div_16); 就可以了。
通常pic是master.
master slave之分就是master generate clock. 而slave就用这个clock来shynchronize communication. |
|
|
|
|
|
|
|
发表于 4-4-2009 01:15 AM
|
显示全部楼层
原帖由 cincailo 于 3-4-2009 04:55 PM 发表
有多了一个问题,从 PIC master去 其它chip, slave (我是ISD voice recorder chip), 用 SPI 连接法, PIC 里有四个pins, 就是 SDO (从PIC 去 ISD),SDI (从ISD 去 PIC) ,SCK和SS。想请教如何可以知道SDI 是输送 ...
这个很难解释。
你先用high level built in function.再来了解也不迟。
ccs c里面已经有built in 的spi library. |
|
|
|
|
|
|
|
楼主 |
发表于 4-4-2009 05:38 PM
|
显示全部楼层
回复 10# fritlizt 的帖子
high level built in function? 不好意思,是什么? |
|
|
|
|
|
|
|
楼主 |
发表于 4-4-2009 05:45 PM
|
显示全部楼层
回复 8# pic 的帖子
但是我的PIC (master) 已经有一个slave了,现在又放多一个PIC 来做slave? 其实可以用flip flop来显示data吗?然后Flip flop 再接去LED。 |
|
|
|
|
|
|
|
发表于 4-4-2009 05:46 PM
|
显示全部楼层
原帖由 cincailo 于 4-4-2009 05:38 PM 发表
high level built in function? 不好意思,是什么?
就是ccs c 的built in function.
spi_setup();
spi_read();
spi_write();
[ 本帖最后由 fritlizt 于 4-4-2009 05:48 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 4-4-2009 07:26 PM
|
显示全部楼层
原帖由 cincailo 于 4-4-2009 05:45 PM 发表
但是我的PIC (master) 已经有一个slave了,
怎样又有master 又有slave?
如果是学习用途, 我会用另一颗MCU。
其实可以用flip flop来显示data吗?然后Flip flop 再接去LED。
用Flip Flop?可以啊, 如果你不嫌麻烦。。。 |
|
|
|
|
|
|
|
发表于 5-4-2009 01:00 AM
|
显示全部楼层
原帖由 cincailo 于 4-4-2009 05:45 PM 发表
但是我的PIC (master) 已经有一个slave了,现在又放多一个PIC 来做slave? 其实可以用flip flop来显示data吗?然后Flip flop 再接去LED。
->但是我的PIC (master) 已经有一个slave了,现在又放多一个PIC 来做slave?
你这句是讲什么?不明白你要问什么。
schematics? 还是block diagram有吗?容易了解。 |
|
|
|
|
|
|
|
发表于 5-4-2009 11:18 AM
|
显示全部楼层
其实可以用flip flop来显示data吗?然后Flip flop 再接去LED。
可以试看 74LS595 Serial to Parallel Shift Register. |
|
|
|
|
|
|
|
发表于 5-4-2009 01:09 PM
|
显示全部楼层
原帖由 waiweng83 于 5-4-2009 11:18 AM 发表
可以试看 74LS595 Serial to Parallel Shift Register.
我说还是 74LS164 较容易使用,而且只有 14 个脚而已。 |
|
|
|
|
|
|
|
发表于 5-4-2009 06:02 PM
|
显示全部楼层
可以试看 74LS595 Serial to Parallel Shift Register. 我说还是 74LS164 较容易使用,而且只有 14 个脚而已。
我也来说可以用 CD4094。。。如果不嫌麻烦, 一个bit一个bit 慢慢去解。。。
master 送一个byte, 你解一个。。。 |
|
|
|
|
|
|
|
楼主 |
发表于 5-4-2009 09:26 PM
|
显示全部楼层
回复 15# fritlizt 的帖子
哦,是这样的,我有一个PIC作为master,然后有一个ISD17240 voice recorder chip 作为 slave。 那么在8# PIC 版主建议我用多另一个PIC作为slave,以便我能知道return data。(如果我没误解他的意思)所以不就会有一个PIC master,和两个slave咯, ISD17240 和 另一个PIC。 |
|
|
|
|
|
|
|
发表于 5-4-2009 09:55 PM
|
显示全部楼层
原帖由 cincailo 于 5-4-2009 09:26 PM 发表
哦,是这样的,我有一个PIC作为master,然后有一个ISD17240 voice recorder chip 作为 slave。 那么在8# PIC 版主建议我用多另一个PIC作为slave,以便我能知道return data。(如果我没误解他的意思)所以不就会有一个 ...
你误解了。
他说如果你想要知道spi怎么work.用两个pic来试试看,
一个master, 一个slave.
和ISD17240没关系。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|