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.

[参考译文] CCS/EK-TM4C1294XL:基于 Enet_IO 的新项目。 在新项目中修改了文件 driver/pinout.c。 已在 enet_io 中修改文件。

Guru**** 2224720 points
Other Parts Discussed in Thread: EK-TM4C1294XL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/703985/ccs-ek-tm4c1294xl-new-project-based-on-enet_io-modified-file-driver-pinout-c-in-new-project-file-was-modified-in-enet_io

器件型号:EK-TM4C1294XL

工具/软件:Code Composer Studio

我正在从事 CCS7的工作。  我有 EK-TM4C1294XL。

我通过复制 enet_io 并重命名它来创建了一个新项目。

我想在 PF1上添加一个 LED。 通过查看代码、我得出结论、我需要将引脚配置为输出、这与端口 N pint 在文件 drivers/pinout.c 中作为输出被触发的方式类似

就在第170行的现有代码后面 、如下所示:

//将 LED 默认为关闭。
//
ROM_GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0 | GPIO_PIN_1、0); 

我进行了以下更改、将新代码添加到文件中并进行了保存。

//
//将 PF1设置为 GIPO 输出和高电平。
//

//GPIODirModeSet (uint32_t ui32端口、uint8_t ui8引脚、uint32_t ui32引脚 IO)
//GPIODirModeSet (GPIO_PORTF_BASE、GPIO_PIN_1、GPIO_DIR_MODE_OUT)

//等待 GPIO F 从复位状态中退出。
//
while (!map_SysCtlPeripheralReady (SYSCTL_Periph_GPIOF))
{
}
// map_GPIODirModeSet (GPIO_PORTF_BASE、GPIO_PIN_1、GPIO_DIR_MODE_OUT);
// GPIOPinConfigure (GPIO_PF1_EN0LED2);// 20180626上的 FLE
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_1);
MAP_GPIOPadConfigSet (GPIO_PORTF_BASE、GPIO_PIN_1、GPIO_Strength _12mA、GPIO_PIN_TYPE_STD);

//将其发送到高电平。
ROM_GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1、GPIO_PIN_1);
//将其发送为低电平。
ROM_GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1、5);
//将其发送到高电平。
ROM_GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_1、GPIO_PIN_1);


当我打开原始 enot_io 项目中的 pinout.c 文件时、我的更改也在其中。

我是如何知道这会发生的?  这种文件行为被称为什么、我应该在哪里阅读它。
是否有文档可以告诉我如何编写没有与外部工程意外共享文件的代码、例如混乱示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哎呀、我应该更清楚。 我在新项目中编辑了文件/driver/pinout.c。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Forrest、

    这是一个好问题。 最初创建该工程时、文件"pinout.c"作为链接包含在内、而不是复制到工程目录中。 复制该项目时、它复制了链接。 当您在"Project Explorer"中查看文件列表时、会有一个细微的指示。 请注意、在下面的代码段中、文件"pinout.c"的图标右下角有一个小箭头。 这意味着这是一个链接。 将其与 cgifuncs.c 文件的图标进行比较 无小箭头表示工程中存在此文件的副本。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以右键单击链接并选择属性。 在这里、您可以看到该实际文件位置。

    您可以删除链接、然后在项目中粘贴同一文件的副本。 现在、编辑将仅对新项目中的副本进行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    哇,Bob——这是“意外的”。      如果遇到一个 Bartholomew Simpson,一定会给你一个“啊 Caramba!”

    解释得非常好(虽然小箭头很难(很)检测到-如果能更好地注意到"改变的颜色"-您不同意吗?

    海报最合理且检测良好的请求-可得出以下几点:

    • CCS 文档中是否列出了这样一个"高度详细信息"、并且格式是否"显著"?
    • 您的客户用户还在等待其他哪些"惊喜"—类似和意外(就像这个)?   (当然有(部分)列表... 不应该共享?)
    • 为什么(仅)'pinout.c'-而不 是'.h 文件'的 Armada -出现在'debrivers'下?    (因为"utils"列出了一个.h 文件-为了实现一致性-也不应该"驱动程序"这么做?)

    您对这种"内幕信息"的掌握得到了认可、但人们不能相信这种" gotchas "的"更好地展示和升级"降低对供应商员工的需求...   这是一个有效的供应商目标(或应该是)、您认为吗?

    BTW -赞扬海报/用户"Forrest (Forrest)"-(两者)检测到此问题、然后在 此处"有效展示"-针对"内幕"解决方案...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bob、您好!

    对问题根源的解释很好。 一旦我知道问题的含义、即链接而不是复制、就可以轻松了解更多信息。

    我在 youtube.com/watch?v=ngp3b6ZhT8U 上找到了一个很好的 YouTube

    使用您的方法查找我复制的文件的路径。  然后我选择了项目。 右键单击并选择添加文件。
    我获得了该对话框并选择复制文件。



    bingo 文件现在位于我的项目中。

    然后我删除了链接的文件。

    收到此警告

    已选择确定。

    我已对项目进行了锤击(生成...) 并在"Debug"中运行。
    它发挥了作用。

    1000谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的问题已解决。

    感谢大家。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    参加者很高兴您的问题已得到解决。   话虽如此-此主题已经开始"旋转到论坛中"-很少(如果有)再次出现。

    您所遇到的问题是单独存在的、这是值得怀疑的-因此、您请求一些"满意"(即值得注意/可确定)"列出"此类"意外"(以及令人不安和已知) IDE 机制。  (又名"gotchas (gotchas)")

    你得到的服务是“好的”,但不是其他人注定要从同一高(没有标记的)悬崖上跌落?    

    建议的"已知 IDE 问题列表将为许多人提供帮助-从而避免(不必要)沮丧和延迟。     

    保存"任何" 比"保存"更重要-不幸的是、"列表请求" (使许多人受益)现在(有点)被掩盖了...