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.
在哪里可以找到器件技术参考手册中确定的"Driverlib 函数"库?
例如、查看与 Launchpad LAUNCHXL-F280049C 关联的 TI 给定的"led ex1_blinky.c"、可以看到以下功能、
GPIO_setPadConfig (DEVICE_GPIO_PIN_LED1、GPIO_PIN_TYPE_STD);
在上面的功能中、我可以在技术参考手册"TMS320F28004x_Technical Reference Manual_sprui33f.pdf"中找到"setPadConfig"。
现在、问题就出现在上面的函数行中的给定示例中、"GPIO_PIN_TYPE_STD"已编程。 那么、我如何知道其他类型取代"STD"?
也就是说、在哪里可以找到这些函数的所有其他可能的库?
以"adc_ex11_burst_mode_epwm.c"的另一个示例、请参阅以下函数、
EPWM_setADCTriggerSource (EPWM1_BASE、EPWM_SOC_A、EPWM_SOC_TBCTR_U_CMPA);
我可以在技术参考手册的"........ Driverlib 函数的寄存器"。
但是、如何找到"EPWM_SOC_TBCTR_U_CMPA"的库? 开发设备还有哪些其他可能?
我能够通过 TI 发布的示例学习这些库、但是、作为初学者、我如何学习针对不同应用中的许多其它可能性进行编程?
请在支持文档中建议如何在 TI 发布的 "........ Driverlib 函数的寄存器"。
您好!
您可以下载 C2000Ware 并浏览 f28003x 的"driverlib"文件夹。 您将在该文件夹中找到所有 driverlib 源代码。
此致
Siddharth
尊敬的 Siddharth:
非常感谢我正在寻找的链接。
不过、对于初学者来说、有点困惑、因为您表示"您可以下载 C2000Ware 并探索 f28003x 的"driverlib"文件夹。 您将在这个文件夹中找到所有 driverlib 源代码。"
我所做的是、在 CCS 中尝试在"driverlib"下为我的器件 f28004x 导入示例。 了解了所有示例。
您的意思是否与我的理解相同、如上所述? 另外、请更详细地说明如何在这样的文件夹中找到 driverlib 源代码? 我的意思是、我缺少什么吗???
此致、
Venkatesh
Venkatesh,
您可以查看 driverlib\f28004x\driverlib 文件夹。 此文件夹中提供了 driverlib 源代码。
此致
Siddharth
Siddharth、
谢谢。 使用源代码找到该示例。 这些是 adc.c 或 gpio.c 源代码的典型函数 请确认。
与此同时、我将使用全新的 CCS 将旧器件 TMS320F2810更新为具有相同功能的 TMS320F28377S。
请更正我、要更新到新器件、我要根据 driverlib 函数和相关库、复制更新版本的 CCS 中的所有函数。
这是正确的方法吗? 还是建议任何其他替代方式? 之前、我是从旧版 CCV3.3版本工程迁移的、但其中有很多错误。
此致、
Venkatesh
Venkatesh,
TMS320F2810只支持位字段标头。 TMS320F28377S 支持 driverlib 和位字段标头。 TMS320F28377S 的位字段标头位于 \device_support\f2837xs\headers。 您可以查看它并决定采取哪种方法。 您也可以组合 driverlib 和位字段。
此致
Siddharth
Siddharth、
感谢您提供有用的提示/信息。
是的、在 include 目录中找到了所有.h 文件。 从您的观点来看、我的旧器件 TMS320F2810基于位字段、 如所附的 CCS 项目屏幕截图中所示的几个.h 文件 时、在具有相似功能(可以进行修改以适应新器件 TMS320F28377S)的编程的位域模式中修改 CCS 功能将更加方便、其中包含从您的建议目录复制的.h 文件。
是的、我的偏好也是相同的、只需较少的努力即可满足我的目的、即迁移到具有相同应用和功能的新器件。
请确认并建议相同的策略。
此致、
Venkatesh
Siddharth、
进行上述操作后、我需要根据技术参考手册的寄存器添加 Files .h 并修改.c 文件以满足 TMS320F28377S 要求是正确的。
如何处理其他文件.pp、.asm、.dat、.mak、.abs 等 但是、我发现.cmd 2文件也需要复制?
请澄清、因为我是此活动的初学者、所以我需要学习阶段。
此致、
Venkatesh
Siddharth、
这是与上述迁移问题相关的附加问题:
因为存在多个.c 文件、所以在 CCS 中如何链接它们。 请在我的理解下面注明:
1. CCS 只允许一个包含"void main (void)"代码的.c 文件
2.为了链接"void main(void)",需要将另一个.c 文件与所示的函数内容进行链接
extern void file_name ();
3.以后创建另一个包含代码的.c 文件...
void file_name()
{
}
或
1.参考 import/device_support/f2837xs/examples/empty_projects/ccs/empty_bitfield_project 包含.c 文件、其中示例代码如所示
空 main (void)
{
}
2.另一个.c 文件包含的代码如所示
空隙
函数 (例如... GPIO_WritePin (UINT16 gpioNumber、UINT16 OutVal)
{
}
现在,我的查询是..
根据上面的第2和3项或与 bitfield 样例 Example_projects 之后、哪个选项最好。
我的偏好是根据 bitfield 的 sample example_projects。
请确认。
此致、
Venkatesh
Venkatesh,
您可以在 CCS 项目中使用多个 C 文件。 您可以参考现有示例之一来了解如何添加 C 文件。
另请参阅以下链接
https://software-dl.ti.com/ccs/esd/documents/users_guide/index_project-management.html
此致
Siddharth
Siddharth、
请回复此问题。
此致、
Venkatesh
Siddharth、
感谢这个回复非常有用的提示。
同时请尽早回答以上两项问题。
此致、
Venkatesh
Venkatesh,
您指的是哪些查询?
如上所述,一个 CCS 项目中可以有多个 C 文件。 其中一个 C 文件将具有一个 main()函数。 其余函数可以在单独的 C 文件中。 结构化代码取决于所需的方式。
此致
Siddharth
Siddharth、
明白了您的观点。
查看上面 CCS 旧3.3C 下我现有旧项目的共享屏幕截图、
是否正确、我需要根据技术参考手册的寄存器添加 Files .h 并修改.c 文件、以满足 TMS320F28377S 要求。
如何处理其他文件.pp、.asm、.dat、.mak、.abs 等 但是、我发现.cmd 2文件也需要复制? 我想、我需要从2000ware 的 device_support 目录中复制所有.h 和.cmd 文件。 猜测我现有的旧项目中的.pp、.asm 等文件与旧的3.3V CCS 相关。
请澄清、因为我是此活动的初学者、所以我需要学习阶段。
此致、
Venkatesh
Venkatesh,
是的,您将需要为 TMS320F28377S 添加 C、Header、连接器命令文件(.cmd)。 如果有任何汇编文件(.asm)、您也需要添加它们。 编译 CCS 工程时会生成其他文件、如.pp.mak 等、不需要将其添加到工程中。
此致
Siddharth
Siddharth、
非常感谢您提供满意和有用的建议。
这是解决我的问题,再次非常感谢。
此致、
Venkatesh
Siddharth、
您可以在 CCS 项目中使用多个 C 文件。 您可以参考现有示例之一来了解如何添加 C 文件。
另请参阅以下链接
https://software-dl.ti.com/ccs/esd/documents/users_guide/index_project-management.html
根据您的说明,我无法找到" 了解如何添加 C 文件的现有示例。"
请分享以下所有示例、以了解多个.c 文件具有适用于所有.c 文件的代码。
此致、
Venkatesh
Venkatesh,
您可以 看看 I2C 示例"i2c_ex4_eeprom_Polling"( \driverlib\f2837xs\examples\cpu1\i2c\ccs)。
它使用多个 C 文件。
此致
Siddharth
Siddharth、
非常感谢…
根据您的建议链接、内容无法导入 CCS、而 CCS 显示为"灰色"。 不理解原因。
但是、(\C2000Ware_4_03_00_00\device_support\f28004x\examples\i2c)链接可以导入包含多个.c 文件的2个示例。 这些有…
使用"void main (void)"和其他.c 文件的"i2C_ex1_master.c"
在"f28004x_gpio.c"中、通常例如...
空隙
InitGpio()
空隙
GPIO_SetupPinOptions (UINT16 gpioNumber、UINT16输出、UINT16标志)
在"f28004x_dma.c"中、通常例如...
void StartDMACH1 (void)
void DMACH2AddrConfig (volatile Uint16 * dma_Dest、volatile Uint16 * dma_Source)
希望这些示例能让我在旧工程中考虑使用多个.c 文件、并以类似的方式进行管理。
请确认...
此致、
Venkatesh
Venkatesh,
该项目可能已经导入 CCS 工作区,因此显示为"灰色"。 您可以检查项目资源管理器并查看这些项目是否已列出。
您可以引用使用多个 C 文件的任何示例。
此致
Siddharth
Siddharth、
继续我关于单个项目中多个.c 文件的查询。
我已尝试在单个项目中构建 LED1和 LED2闪烁。
"ex4_led_ex1_blinky"工作正常。 但是、"ex5_led_ex2_blinky_dcsm"不基于您的示例中提出的原则。 但是、同一个 "ex5_lead_ex2_blinky_dcsm"工程在 LED1闪烁时运行良好、并且它不关心 LED2闪烁、尽管工程中提供了此类.c 文件。 具有 driverlib 模式的 CCS 12版本只接受一个 "void main (void)"吗?
我的错在哪里? 需要在"ex5_leed_ex2_blinky_dcsm"中更正哪些内容、以便 LED2也可以闪烁? 如何将 LED2 .c 文件链接到项目?
这些是与"LAUNCHXL-F280049C"关联的项目
e2e.ti.com/.../3632.ex4_5F00_led_5F00_ex1_5F00_blinky.zipe2e.ti.com/.../Ex5_5F00_led_5F00_ex2_5F00_blinky_5F00_dcsm.zip
Venkatesh,
CCS 项目可以有一个入口点函数 或 main(),并且可以调用其他 C 文件中的函数。
在 "ex5_led_ex2_blinky_dcsm"项目中、从未调用函数"My_LED2"。 应该从 main()函数调用它才能正常工作。
由于 Togg_My_LED2 函数是从主函数调用的,因此"ex4_led ex1_blinky"起作用。 这是你应该采取的方法。
此致
Siddharth
Siddharth、
非常感谢… 这同样的概念适用于位域类型吗
一直在
从 \C2000Ware_4_03_00\device_support\f28004x\examples\led "led_ex1_blinky"导入工程后、无法构建显示错误、如下所示:
工程没有选择"Build Configurations\Set Active\CPU1_LAUNCHXL_RAM"的工具、并且在 targetConfigs 下没有选择"TMS320F280049C_LaunchPad.ccxml"的选项、因此会发生此类错误。
但是、同一个 LED 项目能够在\C2000Ware_4_03_00_00\driverlib\f28004x\examples\led 下导入和构建"没有任何错误"
如何消除误差?
LED 项目的 PFA 屏幕截图,标题中有错误...
此致、
Venkatesh
Venkatesh,
是的、相同的概念也适用于位字段。
对于上述错误、看起来工程没有"TMS320F280049C_LaunchPad.ccxml"、可看到该错误。 您可以在 targetConfigs 下进行选中、然后查看项目的可用 CCXML 文件。 CCXML 文件用于启动调试会话并连接到电路板。
此致
Siddharth