0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于博流BL606P音视频开发板的CAN扩展模块收发测试

芯片开放社区 来源:芯片开放社区 2023-07-03 10:06 次阅读

编辑语:

芯片开放社区(OCC)面向广大开发者推出应用实战系列内容,通过分享开发者实战开发案例,总结应用开发经验,梳理开发中的常见问题及解决方案,为后续参与的开发者提供更多参考与借鉴。

本文是关于开发者 zhanghui基于BL606P-DVK开发板实战开发的系列文章中的第五篇,主要介绍了CAN扩展模块收发测试,后面还会持续更新社区开发者的测评内容,敬请期待!

本计划是使用这款开发板来播放CAN通信控制的语音播放功能的,对语音这块还不太会用,下面测试下扩展CAN通信模块收发测试功能。

01硬件部分

1.1 使用到了硬件上的LCD接口

827bc372-1945-11ee-962d-dac502259ad0.png

1.2 外扩CAN模块部分

829ea338-1945-11ee-962d-dac502259ad0.png

1.3 硬件连接图

82c2d834-1945-11ee-962d-dac502259ad0.jpg

02程序部分

2.1 端口初始化部分

gpio_dev_t gpio_2515_so = { GPIO_PIN_24, INPUT_PULL_UP, NULL };  //PIO24/LCD-PWM
gpio_dev_t gpio_2515_si = { GPIO_PIN_26, OUTPUT_PUSH_PULL, NULL }; //PIO26/LCD-DIO
gpio_dev_t gpio_2515_sck= { GPIO_PIN_27, OUTPUT_PUSH_PULL, NULL };  //PIO27/LCD-CLK
gpio_dev_t gpio_2515_cs = { GPIO_PIN_28, OUTPUT_PUSH_PULL, NULL };   //PIO28/LCD-CS
gpio_dev_t gpio_2515_int = { GPIO_PIN_25, IRQ_MODE, NULL };  //PIO25

#define mcp2515_clk_l()         hal_gpio_output_low(&gpio_2515_sck)
#define mcp2515_clk_h()        hal_gpio_output_high(&gpio_2515_sck)

#define mcp2515_si_l()         hal_gpio_output_low(&gpio_2515_si )
#define mcp2515_si_h()        hal_gpio_output_high(&gpio_2515_si )

#define mcp2515_cs_l()         hal_gpio_output_low(&gpio_2515_cs )
#define mcp2515_cs_h()        hal_gpio_output_high(&gpio_2515_cs )

csi_pin_set_mux( GPIO_PIN_24, PIN_FUNC_GPIO);
csi_pin_set_mux( GPIO_PIN_25, PIN_FUNC_GPIO);
csi_pin_set_mux( GPIO_PIN_26, PIN_FUNC_GPIO);
csi_pin_set_mux( GPIO_PIN_27, PIN_FUNC_GPIO);
csi_pin_set_mux( GPIO_PIN_28, PIN_FUNC_GPIO);

hal_gpio_init(&gpio_2515_so);
hal_gpio_init(&gpio_2515_si);
hal_gpio_init(&gpio_2515_sck);
hal_gpio_init(&gpio_2515_cs);
hal_gpio_init(&gpio_2515_int);
hal_gpio_output_low(&gpio_2515_si);
hal_gpio_output_low(&gpio_2515_sck);
hal_gpio_output_low(&gpio_2515_cs);

hal_gpio_enable_irq(&gpio_2515_int, IRQ_TRIGGER_FALLING_EDGE, can_eint, NULL);

2.2 main.c

#include 
#include 
#include 
#include "app_main.h"
#include 
#include "led.h"
#include "tm1638.h"
#include "mcp2515.h"

int main(int argc, char *argv[])
{
int i=0;
uint8_t dispbuf[8];
uint32_t cnt=0;
uint8_t cantx_buf[8];

    board_yoc_init();
init_led();
init_tm1638();
init_mcp2515();
    
    printf("
app start core clock %d........
", soc_get_cur_cpu_freq());

disp_log();
aos_msleep(2000);
    
    //codec_output_init();
    //codec_input_init();
    //codec_loop_init();
for(i=0;i<8;i++)
{
dispbuf[i]=0;
}
while(1)
{
cantx_buf[0]=i;
cantx_buf[1]=i+1;
cantx_buf[2]=i+2;
cantx_buf[3]=i+3;
cantx_buf[4]=i;
cantx_buf[5]=i+1;
cantx_buf[6]=i+2;
cantx_buf[7]=i+3;

CAN_Send(cantx_buf);
printf("can tx data :  %02x %02x %02x %02x %02x %02x %02x %02x
",cantx_buf[0],cantx_buf[1],cantx_buf[2],cantx_buf[3],cantx_buf[4],cantx_buf[5],cantx_buf[6],cantx_buf[7]);
i++;
if(i>250)
{
i=0;
}


set_ledr();
clr_ledg();
clr_ledb();
aos_msleep(100);

clr_ledr();
set_ledg();
clr_ledb();
aos_msleep(100);

clr_ledr();
clr_ledg();
set_ledb();
aos_msleep(100);

clr_ledr();
clr_ledg();
clr_ledb();
aos_msleep(100);

if(cnt>999)
{
cnt=0;
}
cnt++;
dispbuf[4]=cnt/1000;
dispbuf[5]=(cnt%1000)/100;
dispbuf[6]=((cnt%1000)%100)/10;
dispbuf[7]=((cnt%1000)%100)%10;
disp_led(dispbuf);
}
    return 0;
}

2.3 can接收部分程序

void can_eint(void *args)
{
uint8_t rx_sta;
rx_sta=CAN_ReadINTF(); 
if(rx_sta&0x01)
{
CAN_SetINTF(0x00);
CAN_RecRXB0(canrx_buf);
printf("can rx data : %02x %02x %02x %02x %02x %02x %02x %02x
",canrx_buf[0],canrx_buf[1],canrx_buf[2],canrx_buf[3],canrx_buf[4],canrx_buf[5],canrx_buf[6],canrx_buf[7]);

}
}

03运行结果

CAN软件和串口收发数据显示

82e5ad82-1945-11ee-962d-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4278

    浏览量

    164119
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2470

    浏览量

    459254
  • 音视频
    +关注

    关注

    4

    文章

    414

    浏览量

    29578
  • 开发板
    +关注

    关注

    25

    文章

    4432

    浏览量

    94017
  • 通信模块
    +关注

    关注

    2

    文章

    123

    浏览量

    32915

原文标题:应用速递 | 博流BL606P音视频开发板:(5)CAN扩展模块收发测试

文章出处:【微信号:芯片开放社区,微信公众号:芯片开放社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于博流BL606P音视频开发板开发环境搭建及例程测试

    本文是关于开发者 zhanghui 基于BL606P-DVK开发板实战开发的系列文章中的第一篇,主要介绍了开发环境搭建及例程
    发表于 06-09 10:04 521次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的<b class='flag-5'>开发</b>环境搭建及例程<b class='flag-5'>测试</b>

    博流BL606P音视频开发板:(三)ADC测试

    本文是关于开发者 qinyunti 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了ADC测试,后面还会持续更新该
    的头像 发表于 04-10 10:26 498次阅读

    基于博流BL606P音视频开发板的智能音箱测试

    本文是关于开发者 qinyunti 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了智能音箱测试,后面还会持续更新该
    的头像 发表于 05-09 11:22 587次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的智能音箱<b class='flag-5'>测试</b>

    基于博流BL606P音视频开发板通过蓝牙进行WIFI配网测试

    本文是关于开发者 qinyunti 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了通过蓝牙进行WIFI配网测试,后面还
    的头像 发表于 05-10 16:59 736次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>通过蓝牙进行WIFI配网<b class='flag-5'>测试</b>

    博流BL606P音视频开发板:HelloWord Demo运行及跳线帽设置

    本文是关于开发者 kit7828 基于BL606P-DVK开发板实战开发的系列文章中的第一篇,主要介绍了环境搭建及HelloWord Demo运行,后面还会持续更新该
    的头像 发表于 05-15 15:25 654次阅读
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>:HelloWord Demo运行及跳线帽设置

    基于博流BL606P音视频开发板实现RGB点灯

    本文是关于开发者 kit7828 基于BL606P-DVK开发板实战开发的系列文章中的第二篇,主要介绍了BL606P实现RGB点灯,后面还会
    的头像 发表于 05-18 10:57 610次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>实现RGB点灯

    博流BL606P音视频开发板CKLink无法下载的解决办法

    本文是关于开发者 kit7828 基于BL606P-DVK开发板实战开发的系列文章中的第五篇,主要介绍了CKLink无法下载的解决办法,后面还会持续更新该
    的头像 发表于 05-29 10:59 497次阅读
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>CKLink无法下载的解决办法

    基于博流BL606P音视频开发板的智能音箱系统开发方案

    本文是关于开发者 乔帮主 分享了在Docker环境下,基于博流BL606P音视频开发板,进行智能音箱系统搭建的完成过程。按照文中步骤操作后,你将得到一个可以进行对话的智能音箱。
    的头像 发表于 06-06 17:11 2080次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的智能音箱系统<b class='flag-5'>开发</b>方案

    基于博流BL606P音视频开发板的蓝牙音频测试

    本文是关于开发者 zhanghui 基于BL606P-DVK开发板实战开发的系列文章中的第三篇,主要介绍了蓝牙音频测试,后面还会持续更新该
    的头像 发表于 06-25 09:42 349次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的蓝牙音频<b class='flag-5'>测试</b>

    基于博流BL606P音视频开发板驱动LED数码管

    本文是关于开发者 zhanghui 基于BL606P-DVK开发板实战开发的系列文章中的第四篇,主要介绍了LED数据管模块TM1638驱动的
    的头像 发表于 06-29 09:49 274次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>驱动LED数码管

    基于BL606P-DVK音视频开发板的实战案例

    本文是关于开发者 乘简 基于BL606P-DVK开发板实战开发的系列文章中的第五篇,主要介绍了CAN扩展
    发表于 07-06 10:51 344次阅读

    博流BL606P音视频开发板:驱动MAX7219点阵模组

    本文是关于开发者 乘简 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了驱动MAX7219点阵模组,后面还会持续更新社区开发
    的头像 发表于 07-10 10:43 537次阅读
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>:驱动MAX7219点阵模组

    基于博流BL606P音视频开发板的GPIO点灯教程

    本文是关于开发者 swzswz 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了GPIO点灯,后面还会持续更新社区开发
    的头像 发表于 07-17 10:54 448次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的GPIO点灯教程

    基于博流BL606P音视频开发板驱动LED数码管

    本文是关于开发者 swzswz 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了驱动led数码管,后面还会持续更新社区开发
    的头像 发表于 07-20 10:58 327次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>驱动LED数码管

    基于博流BL606P音视频开发板的音响测试

    本文是关于开发者 swzswz 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了音响测试,后面还会持续更新社区
    的头像 发表于 07-25 09:56 342次阅读
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音视频</b><b class='flag-5'>开发板</b>的音响<b class='flag-5'>测试</b>