在线时间1144 小时
UID3124330
注册时间2015-11-26
NXP金币711
TA的每日心情 | 开心 2019-3-5 08:47 |
---|
签到天数: 1 天 [LV.1]初来乍到
金牌会员
- 积分
- 7774
- 最后登录
- 2024-3-28
|
本帖最后由 jundao721 于 2023-5-30 20:36 编辑
这段时间抽空重新更新了一下PCB板,跟某创沟通了下又申请了张六层板的券,不得不说大厂还是有大格局的。测试学习工作还是基于SDK进行修改,本板使用的是LPUART2,所以从引脚到中断定义都需要修改。目的是实现每隔1S发送一组数据,LED翻转。从串口助手发送一组数据,测试接收中断。
测试过程开始不是很顺利,能正常发送,接收中断的时候就跳到HardFault_Handler() at semihost hardfault.c:61 0x300066e6,查看错误的时候显示forced(30) Indicates a forced hard fault, generated by escalation of a fault with configurable priority that cannot be handled, either because of priority or because it is disabled。然后就是各种改,和谷歌,度娘都聊了很久也没找到原因。最后更换了workspace,问题神奇般的解决了,分享一下。
修改引脚如下:
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_DISP_B2_10_LPUART2_TXD, /* GPIO_AD_24 is configured as LPUART1_TXD */
- 0U); /* Software Input On Field: Input Path is determined by functionality */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_DISP_B2_11_LPUART2_RXD, /* GPIO_AD_25 is configured as LPUART1_RXD */
- 0U); /* Software Input On Field: Input Path is determined by functionality */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_DISP_B2_10_LPUART2_TXD, /* GPIO_AD_24 PAD functional properties : */
- 0x02U); /* Slew Rate Field: Slow Slew Rate
- Drive Strength Field: high drive strength
- Pull / Keep Select Field: Pull Disable, Highz
- Pull Up / Down Config. Field: Weak pull down
- Open Drain Field: Disabled
- Domain write protection: Both cores are allowed
- Domain write protection lock: Neither of DWP bits is locked */
- IOMUXC_SetPinConfig(
- IOMUXC_GPIO_DISP_B2_11_LPUART2_RXD, /* GPIO_AD_25 PAD functional properties : */
- 0x02U); /* Slew Rate Field: Slow Slew Rate
- Drive Strength Field: high drive strength
- Pull / Keep Select Field: Pull Disable, Highz
- Pull Up / Down Config. Field: Weak pull down
- Open Drain Field: Disabled
- Domain write protection: Both cores are allowed
- Domain write protection lock: Neither of DWP bits is locked */
- IOMUXC_SetPinMux(
- IOMUXC_GPIO_EMC_B2_02_GPIO_MUX2_IO12,
- 0U);
复制代码 while中发送的修改:
- SDK_DelayAtLeastUs(1000000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY);
- LPUART_WriteBlocking(DEMO_LPUART, Tx_Data, 2);
- GPIO_PortToggle(EXAMPLE_LED_GPIO, 1u << EXAMPLE_LED_GPIO_PIN);
复制代码 接收中断如图1:
图1
串口助手的测试如图2:
图2
板子上LED随着数据发送进行翻转,如图3:
图3
|
|