主题中讨论的其他器件: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.
购买的开发板具有 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