请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2541 主题中讨论的其他器件: CC2540
我的问题很简单、很容易重现。
下面是我要尝试做的:
我将 BLE-CC254x-1.4.0开发人员套件中的 TimeApp 示例用作起点。
此示例 使用 SPI 写入 LCD 显示屏。 我的显示屏使用 i2c 而不是 SPI。
我唯一想做的就是将与显示屏的通信从 SPI 更改为 I2C。
为此、我需要在项目中包含 i2c hal 驱动程序。 我可以看到、开发套件中有两个不同的 hal_i2c 驱动程序
我可以看到的第一个是在中
C:\Texas Instruments\BLE-CC254x-1.4.0\Components\hal\target\CC2541ST
另一个位于:
2. C:\Texas Instruments\BLE-CC254x-1.4.0\Components\hal\target\CC2541ARC
就我所看到的 hal_i2c.c 文件大小不同 、因此我不确定必须选择哪一个。 我可以看到 SensorTag 样本正在使用
C:\Texas Instruments\BLE-CC254x-1.4.0\Components\hal\target\CC2541ST
驱动器。
我的下一个问题是:如何将驱动程序添加到 IAR EWB 中的 TimeApp 项目中。
无论我在项目窗口中的哪个位置右键点击(请参见所附图像)、我都可以选择添加。 从而不会清除项目窗口中的哪个分支
添加驱动程序。
正如您在随附的图像中看到的、我将 hal_i2c.h 添加到了:
HAL\include 分支
将 hal_i2c.c 添加到:
HAL\Target\CC2540EB\Drivers 分支。
到目前为止都很好
以便使用 i2c 驱动程序
#include "hal_i2c.h"
到 timeapp.c 文件的顶部 、并出现以下错误:
构建配置:TimeApp - CC2541EM 从设备
正在更新生成树...
timeApp_Main.c
致命错误[Pe1696]:无法打开源文件"hal_i2c.h" C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\timeApp_Main.c 50
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\.\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\target\
CC2540EB\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\osal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\..\Components\services\
saddr\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
PHY\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
包含\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\HCI\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\host\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\CC2540\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Roles\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Baty\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\clib\"
运行 C/C++编译器时出错
timeapp.c
致命错误[Pe1696]:无法打开源文件"hal_i2c.h" C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\timeapp.c 50
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\.\include\"
正在更新生成树...
timeApp_Main.c
致命错误[Pe1696]:无法打开源文件"hal_i2c.h" C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\timeApp_Main.c 50
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\.\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\target\
CC2540EB\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\osal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\..\Components\services\
saddr\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
PHY\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
包含\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\HCI\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\host\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\CC2540\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Roles\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Baty\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\clib\"
运行 C/C++编译器时出错
timeapp.c
致命错误[Pe1696]:无法打开源文件"hal_i2c.h" C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\timeapp.c 50
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\Source\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\.\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\target\
CC2540EB\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\osal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\..\Components\services\
saddr\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
PHY\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
包含\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\HCI\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\host\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\CC2540\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Roles\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Baty\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\clib\"
运行 C/C++编译器时出错
错误总数:2.
警告总数:0
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\hal\target\
CC2540EB\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\osal\Include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\..\Components\services\
saddr\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\include\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
PHY\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\..\..\Components\ble\controller\
包含\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\HCI\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Components\ble\host\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\common\CC2540\"
搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Roles\"
已搜索:"C:\Texas Instruments\BLE-CC254x-1.4.0\projects\ble\TimeApp\CC2541\..\..\Profiles\Baty\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\"
搜索:"C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4\8051\inc\clib\"
运行 C/C++编译器时出错
错误总数:2.
警告总数:0
总结 我的问题:
要使用哪个 I2C 驱动程序
2.如何将其添加到项目中
3.最后,解决编译错误(找不到 hal_i2c.h 文件)