wk2168驱动调试(三)

断断续续的调了几天,今天终于把wk这块片子调试完成。

解决了数据发送超32个字符会死的,rs485支持问题。

32个字符会死的问题是由多核处理器引起的,在定位问题时,把一个核关闭,处于一个cpu时,就一点点问题都没有。

root@ ss   /sys/devices/system/cpu/cpu1$ echo 0 >online 
[ 3555.955602] CPU1: shutdown

这样操作完,数据收发完全正常。明确了问题是多核引起的问题。

多核问题上,用spin_lock_irqrestore来关,不仅关中断,还要关cpu同步,这样操作上保证串行。读写寄存器,读写fifo时都加锁,这样才会有效。

在中断处理上,不要嵌套处理,这样不会内部死锁。

基本上这个问题就解决了。


rs485问题:

按芯片手册增加485配置,且要把RTSDLY 这个配置上数值,不然rts不会生效。


验证时,通过数据收发,rts引脚上有高低电平产生,调试就基本完成。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: wk2168 是一款基于STM32 HAL的嵌入式开发板。STM32 HAL(Hardware Abstraction Layer)是STMicroelectronics推出的一种针对STM32系列微控制器的硬件抽象层。它提供了一系列函数库,使得开发者可以更加方便地进行底层硬件的操作和驱动开发。 在使用wk2168开发板时,我们可以充分利用STM32 HAL提供的丰富函数库来实现各种功能。例如,通过HAL库可以轻松地配置GPIO(通用输入输出端口),设置为输入或输出,并进行读写操作。还可以使用HAL库配置定时器,产生各种中断信号或PWM波形。HAL还提供了USART(串行通信)和I2C(串行总线通信)等外设的配置和操作函数,方便进行串口通信和外部设备的数据交互。 在使用STM32 HAL开发时,我们可以通过CubeMX(一个专门用于STM32硬件配置的图形化工具)来自动生成初始化代码,包括时钟配置、引脚定义、外设配置等。然后,我们可以在主函数中进行逻辑代码的编写和实现。 总之,wk2168开发板在STM32 HAL的支持下,提供了丰富的硬件抽象函数库,方便开发者进行底层硬件的操作和驱动开发。使用HAL库,可以大大提高开发效率,减少开发周期,实现各种功能的快速开发。 ### 回答2: 在STM32 HAL下,wk2168 可以代表很多不同的含义,例如作为一个变量名、函数名或者别的标识符。在这种情况下,需要更多的背景信息才能给出一个具体的回答。 STM32是一款由STMicroelectronics(意法半导体)开发的32位单片机系列。HAL(Hardware Abstraction Layer)是STM32的一个软件库,用于提供对硬件抽象的支持。通过HAL库,开发人员可以简化底层硬件的配置和操作。 如果wk2168是作为一个变量名,它代表一个存储器中的数据。在STM32 HAL中,可以使用相关的HAL库函数来访问和操作这个变量,例如读取、写入或修改。 如果wk2168是作为一个函数名,它可能代表某个特定的功能。在STM32 HAL中,可以通过调用函数名为wk2168的函数来执行这个功能。需要查阅相关的HAL文档,以了解这个函数的具体用法和参数。 总的来说,STM32 HAL提供了一种简化STM32开发的方法,可以更加方便地配置硬件和进行软件开发。无论wk2168是代表变量名、函数名或其他标识符,在STM32 HAL下都可以通过相关的支持库来操作它。需要进一步的信息才能给出更加具体的回答。 ### 回答3: wk2168是一种STM32开发板,它基于STM32 HAL(硬件抽象层)开发环境。 STM32 HAL是STMicroelectronics为STM32系列微控制器提供的一种软件库。它提供了一套易于使用的API(应用程序接口),帮助开发人员更快地创建应用程序和驱动程序。HAL库包含了许多常用的功能,例如GPIO(通用输入/输出)、UART(通用异步收发器)、SPI(串行外围接口)和I2C(串行外围设备接口)等。 使用wk2168开发板,我们可以在STM32 HAL下进行开发。首先,我们需要将WK2168开发板与电脑连接,并安装好相应的开发环境,例如Keil MDK或者STM32CubeIDE。然后,我们可以通过HAL库提供的API来访问开发板上的各种外围设备,例如LED、按键、串口等。 例如,如果我们想要控制开发板上的一个LED灯,我们可以调用HAL_GPIO_WritePin()函数来设置LED的状态,使用HAL库提供的其他函数来配置GPIO引脚的工作模式和电平。 另外,使用STM32 HAL开发环境还可以轻松地开发其他各种功能。我们可以使用HAL库来实现定时器功能、中断处理、AD转换等各种应用。同时,HAL库还提供了一些便利的功能,例如时钟配置、DMA(直接内存访问)传输等。 总之,WK2168在STM32 HAL下为我们提供了一种便捷的开发环境。我们可以利用HAL库快速开发各种应用程序,并充分利用STM32系列微控制器的性能和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九世坛主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值