Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28388D
主题中讨论的其他器件:C2000WARE、
购买的开发板具有 SD 卡插槽。
但是、没有驱动程序例程。
发现28377D 具有相应的 SD 例程。
目前的思路是将28377D 例程移植到28388D 适用例程中。
请告诉我移植过程是否有专业指南。
期待您的回复!
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28388D
购买的开发板具有 SD 卡插槽。
但是、没有驱动程序例程。
发现28377D 具有相应的 SD 例程。
目前的思路是将28377D 例程移植到28388D 适用例程中。
请告诉我移植过程是否有专业指南。
期待您的回复!
谢谢!
大家好、 Cody Watkins
F28377D 中的 InitSysCtrl()函数相当于 Device_init();在 F28388D 中,对吧?
Dint;
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
上述四项陈述是否与以下两项陈述相同?
interrupt_initModule();
interrupt_initVectorTable();
28377D 中有以下两项语句、
InitSpiaGpio();
spi_initialization();
空 InitSpiaGpio()
{
EALLOW;
/*为所选引脚启用内部上拉*/
//用户可以启用或禁用上拉。
//这将启用指定引脚的上拉电阻。
//注释掉其他不需要的行。
GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0;//启用 GPIO16上的上拉电阻器(SPISIMOA)
// GpioCtrlRegs.GPAPUD.bit.GPIO5=0;//启用 GPIO5上的上拉电阻器(SPISIMOA)
GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0;//启用 GPIO17上的上拉电阻器(SPISOMIA)
// GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0;//启用 GPIO3上的上拉电阻器(SPISOMIA)
GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;//启用 GPIO18上的上拉电阻器(SPICLKA)
GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0;//启用 GPIO19上的上拉电阻器(SPISTEA)
/*将所选引脚的限定条件设置为仅异步*/
//这将为所选引脚选择异步(无限定条件)。
//注释掉其他不需要的行。
GpioCtrlRegs.GPAQSEL2.bit.GPIO16=3;//异步输入 GPIO16 (SPISIMOA)
// GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 3;//异步输入 GPIO5 (SPISIMOA)
GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3;//异步输入 GPIO17 (SPISOMIA)
// GpioCtrlRegs.GPAQSEL1.bit.GPIO3 = 3;//异步输入 GPIO3 (SPISOMIA)
GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3;//异步输入 GPIO18 (SPICLKA)
GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3;//异步输入 GPIO19 (SPISTEA)
/*使用 GPIO 寄存器配置 SPI-A 引脚*/
//这指定哪些可能的 GPIO 引脚将是 SPI 功能引脚。
//注释掉其他不需要的行。
GpioCtrlRegs.GPAMUX2.bit.GPIO16=1;//将 GPIO16配置为 SPISIMOA
// GpioCtrlRegs.GPAMUX1.bit.GPIO5=2;//将 GPIO5配置为 SPISIMOA
GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1;//将 GPIO17配置为 SPISOMIA
// GpioCtrlRegs.GPAMUX1.bit.GPIO3=2;//将 GPIO3配置为 SPISOMIA
GpioCtrlRegs.GPAMUX2.bit.GPIO18=1;//将 GPIO18配置为 SPICLKA
GpioCtrlRegs.GPAMUX2.bit.GPIO19=1;//将 GPIO19配置为 SPISTEA
EDIS;
}
void SPI_initialization()
{
SpiaRegs.SPICCR.all =0x0007;//复位关闭、上升沿、8位字符位
SpiaRegs.SPICTL.ALL =0x000E;//启用主控模式、延迟相位、
//启用通话,禁用 SPI int。
SpiaRegs.SPIBRR.ALL =0x0063;
SpiaRegs.SPICCR.all =0x0087;//从复位中撤回 SPI
SpiaRegs.SPIPRI.bit.FREE = 1;//传输不受仿真器影响
}
在28388D 中,在 SPI_ex6_EEPROM.c 例程中将 InitSpiaGpio()替换为 initSPI (void)?
空 initSPI()
{
GPIO_setMasterCore (100、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_100_spic_SIMO);
GPIO_setPadConfig (100、GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode (100、GPIO_QUAL_异 步);
GPIO_setMasterCore (101、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_101_spic_SOMI);
GPIO_setPadConfig (101、GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode (101、GPIO_QUAL_异 步);
GPIO_setMasterCore (102、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_102_spic_CLK);
GPIO_setPadConfig (102、GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode (102、GPIO_QUAL_异 步);
GPIO_setMasterCore (103、GPIO_CORE_CPU1);
GPIO_setPinConfig (GPIO_103_GPIO103);
GPIO_setPadConfig (103、GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode (103、GPIO_QUAL_异 步);
GPIO_setDirectionMode (103、GPIO_DIR_MODE_OUT);
//必须在配置 SPI 之前将其复位。
//
SPI_disableModule (spic_BASE);
// SPI 配置。 使用2MHz SPICLK 和8位字大小。
//
SPI_setConfig (spic_BASE、DEVICE_LSPCLK_FREQ、SPI_PROT_POL0PHA1、
SPI_MODE_MASTER、1000000、8);
//配置完成。 启用模块。
//
SPI_enableModule (spic_BASE);
}
那么,SPI_initialization()应该替换什么?
期待您的回复
谢谢!
Vince
大家好、Cody Watkins
C2000器件中28377D 的例程 SD_CARD_cpu01。
该例程包含函数 f_unlink、f_open、f_read、f_write、、、、、、、
这些函数位于例程中的 ff.c 文件中。
如果您想在28388D 中使用上述函数、该如何操作?
ff.c 文件是否已复制到28377D 以供使用?
期待您的回复。
谢谢!
Vince