完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void InitSPI(void)[ SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI2); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH); GPIOPinConfigure(GPIO_PH4_SSI2CLK); //GPIOPinConfigure(GPIO_PH5_SSI2FSS); GPIOPinConfigure(GPIO_PH6_SSI2RX); GPIOPinConfigure(GPIO_PH7_SSI2TX); GPIOPinTypeSSI(GPIO_PORTH_BASE, GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_7); SSIConfigSetExpClk(SSI2_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER,2000000,16); SSIEnable(SSI2_BASE); while(SSIDataGetNonBlocking(SSI2_BASE, &buffer1))[]]void SPIRead(void)[ SSIDataGet(SSI2_BASE, &buffer1); buffer1 &= 0x3FFF; buffer2 = buffer1; UARTprintf("Read: %x", buffer2);]//-----------------------------------------------------------------------------// Ö÷oˉêy:Ïòw25x80D′êy¾Y£¬Ö®oó¶á3ö¡£//-----------------------------------------------------------------------------int main(void)[ tContext sContext; tRectangle sRect; char cThisChar; char ulIdx; SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); // // 3õê¼»ˉ′®¿ú // lcd_ili932x_init(); //3õê¼»ˉLCDÇy¶ˉ GrContextInit(&sContext, &g_sLcdDisplay);//3õê¼»ˉí¼Dοa lcd_backlight_on(); lcd_ili932x_flush(&sContext); sRect.sXMin = 0; sRect.sYMin = 0; sRect.sXMax = GrContextDpyWidthGet(&sContext) - 1; sRect.sYMax = 23; GrContextForegroundSet(&sContext, ClrDarkBlue); GrRectFill(&sContext, &sRect); // ìî3äà¶é«·½¿é GrContextForegroundSet(&sContext, ClrWhite); GrRectDraw(&sContext, &sRect); // ¼ó°×é«¿ò¿ò GrContextFontSet(&sContext, &g_sFontCm20); GrStringDrawCentered(&sContext, "SPI Demo", -1, GrContextDpyWidthGet(&sContext) / 2, 10, 0); // ÏÔê¾êμÑé±êÖ¾ InitConsole();//′®¿ú3õê¼»ˉ InitSPI(); InitGPIO(); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // ê1ÄüLEDËùÔú¶Ë¿úPH GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, GPIO_PIN_7); //ÅäÖÃPN.4ÎaledμÆêä3ö GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7); SysCtlDelay((SysCtlClockGet()/1)); // é趨ÿ′ÎÑóê±ê±¼ä£¬t=1 Ñóê±Îa1ms while(1)[ GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,0); UARTprintf("start /n"); //GrStringDraw(&sContext,"SPI is Reading...", -1, 30, 80, 1); //′òó¡DÅÏ¢ SPIRead(); GPIOPinWrite(GPIO_PORTC_BASE,GPIO_PIN_7,GPIO_PIN_7); UARTprintf(" done /n"); //GrContextFontSet(&sContext, &g_sFontCm20);// //sprintf(dis,"SPI Read: %x",buffer2); //GrStringDraw(&sContext,dis, -1, 30, 80, 1); //′òó¡DÅÏ¢ ]] |
|
|
|
|
|
梦中的花不凋零 发表于 2018-8-14 07:45 没太看明白SSI读取函数里面的数据处理是啥意思, 不过对于SSI来说,需要读取数据时要先发送数据,这样SSI主设备才会产生时钟,发送数据的同时,接收到的数据也会存入buffer,再调用 SSIDataGet就可以把数据读出来。 |
|
|
|
|
|
梦中的花不凋零 发表于 2018-8-14 08:26 对于SPI的时序来说,主要的配置就在是时钟频率、字长、时钟的极性和采样的边沿。这个在SPI设备(ADS8371)中会有明确的描述。M4的SPI按照这个去配置就好。 例如, SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 2000000, 16); SSI_FRF_MOTO_MODE_0是时钟极性和采样边沿,2000000是频率,16是字长。 接下来就是ADS8371的内部寄存器和配置了,这个按照它的Datasheet去做就行了。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1898 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3649 浏览 4 评论
5032 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1736 浏览 1 评论
9384 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
670浏览 2评论
716浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
677浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1199浏览 1评论
1778浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-26 10:50 , Processed in 0.657268 second(s), Total 72, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号