FAQS32K1xx的SDK中的LIN协议栈实现写信号原子操作的方式

S32K1xx的SDK中的LIN协议栈的写信号是否是原子操作?
更新时间:2022.03.21 浏览量:0

S32K1xx的SDK中的LIN协议栈的写信号是原子操作的,SDK自动生成的写信号的API,如下图所示:

发送LIN信号的实现,如下图所示:

主要实现的方式是通过g_buffer_backup_data[]和g_lin_frame_updating_flag_tbl[],如果信号写入只写入了一部分,那么g_lin_frame_updating_flag_tbl[]中该信号写入的部分标志就为1,那么发送时就从g_buffer_backup_data[]获取而不是从只更新一部分的g_lin_frame_data_buffer[]中获取,这就保证发送的信号一定是完整的,不会是只更新一半的信号。当信号写入完成后,就会清除g_lin_frame_updating_flag_tbl[]中的该信号标志为0,下次发送的就为更新完成的信号内容。


  • 上一篇:S32K1xx SDK中LIN读取信号"原子"操作的一种非中断的方式
  • 下一篇:没有了