完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
程序总是卡死在“SSIDataGet(SSI0_BASE, &temp);”这里。
#include #include #include "inc/tm4c123gh6pm.h" #include "inc/hw_gpio.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_uart.h" #include "driverlib/ssi.h" #include "driverlib/uart.h" #include "driverlib/gpio.h" #include "driverlib/pin_map.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" #include "driverlib/sysctl.h" uint32_t i = 0; uint32_t temp[16]=[0]; void main() [ unsigned long i = 0; // 运行在40MHz 模式下 SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); //配置串口通信 SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX); GPIOPinTypeUART(GPIO_PORTA_BASE,GPIO_PIN_0|GPIO_PIN_1); UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 9600, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); // 使能 SSI0模块 SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0); // 配置相关引脚 GPIOPinConfigure(GPIO_PA2_SSI0CLK); GPIOPinConfigure(GPIO_PA3_SSI0FSS); GPIOPinConfigure(GPIO_PA4_SSI0RX); GPIOPinConfigure(GPIO_PA5_SSI0TX); // 配置管脚相应的类型 GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 |GPIO_PIN_2); // 设置 SSI 协议、工作模式、位速率和数据宽度 // SSI0_BASE - 使用 SSI0 // SysCtlClockGet() - 提供到 SSI0的时钟速率 // SSI_FRF_MOTO_MODE_0 - 数据传输协议,极性: 1,相位: 1 // SSI_MODE_SLAVE - 模式选择:配置为从机模式 // 1000000 - 设定 SSI模块位速率为 1M // 8 - 8 位数据宽度 SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_3,SSI_MODE_SLAVE, 1000000, 8); // 使能 SSI模块 SSIEnable(SSI0_BASE); // 清除缓冲区的数据,确保读到的数据时正确的。 while(SSIDataGetNonBlocking(SSI0_BASE, &temp[0])); // 进入死循环 while(1) [ // 接收数据 GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, ~GPIO_PIN_3); //把片选拉低 for(i = 0;i < 16; i++) [ SSIDataGet(SSI0_BASE, &temp); UARTCharPut(UART0_BASE,temp); ] GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_3, GPIO_PIN_3); //把片选拉高 UARTCharPut(UART0_BASE,'n'); // 清除缓冲区的数据,确保读到的数据时正确的。 while(SSIDataGetNonBlocking(SSI0_BASE, &temp[0])); ] ] |
|
相关推荐
8 个讨论
|
|
只有小组成员才能发言,加入小组>>
586 浏览 0 评论
1644 浏览 0 评论
2082 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1534 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1375 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1787浏览 29评论
2812浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1746浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1657浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1676浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 03:04 , Processed in 1.382428 second(s), Total 72, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4040