前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >中移ML307A(4G Cat1,C-SDK,OpenCPU)模组学习开发-添加源文件和头文件,工程结构说明(用户必看)

中移ML307A(4G Cat1,C-SDK,OpenCPU)模组学习开发-添加源文件和头文件,工程结构说明(用户必看)

作者头像
杨奉武
发布2024-07-17 08:36:04
880
发布2024-07-17 08:36:04
举报
文章被收录于专栏:知识分享

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ML307A_OPEN" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

说明

通过上节的 编译下载和运行第一个程序 咱知道咱是在custom里面写自己的程序;

sys_package是这边自己增加的文件,后期将会把封装的功能放到里面,然后提供接口使用文档供用户使用;

咱后面写自己的程序的时候需要把.c文件放到src文件夹里面(这是硬性规定);   .h文件可以随意

 custom_main.c 里面的   int cm_opencpu_entry(char * param)      函数是程序的main函数, 程序从这个函数里面开始执行

现在新建.c和.h文件

因为我不喜欢把.c文件和.h文件分开, 所以我直接把.c和.h文件放到src里面

1,在src文件夹右键选择 新建文件

test.c

2,同样在src文件夹新建个test.h文件

3,然后如果要使用test.c 需要在 custom_main.mk 里面添加包含

OC_FILES += $(CUSTOM_MAIN_DIR)/src/test.c

INC      += -I'$(CUSTOM_MAIN_DIR)/src'

现在说一下咱都可以直接写哪些 #include xxxx.h

1,首先这就是个单片机使用的C编译器,所以C库都是可以的

#include <stdint.h>

#include <stdbool.h>

#include <string.h> 

2,然后呢就是厂家内部封装好的库

这些呢咱都是可以直接在文件里面  #include xxxx.h

3,假设我需要在test里面使用模组的ADC功能, 只需要  #include "cm_adc.h"

4, 然后我就可以使用里的函数了

#include "cm_adc.h"

void test(void)

{

    int32_t adc_value=0;

    cm_adc_read(CM_ADC_0, &adc_value);//读取电压

}

5, 除了上面的include里面的,其它地方也有几个

我只是全方面阐述,知不知道这个无所谓!

标准的思路

1,其实咱们都是在  examples 例子里面找需要的功能,找到自己需要的功能以后看看里面都调用了哪些.h文件咱就调用哪些就可以

2,假设我需要ADC的功能

3,我就可以去掉不必要的之后把需要的拷贝过来

#include <stdint.h>

#include "cm_adc.h"

#include "cm_os.h"

void test(void)

{

    int32_t voltage;

    int32_t ret;

    //测试ADC0

    ret = cm_adc_read(CM_ADC_0,&voltage);

}

现在我需要在 custom_main.c 里面调用test.c里面的 test函数

1,先按照正常写单片机C语言的规定补全 test文件

#include "test.h"

#include <stdint.h>

#include "cm_adc.h"

#include "cm_os.h"

void test(void)

{

    int32_t voltage;

    int32_t ret;

    //测试ADC0

    ret = cm_adc_read(CM_ADC_0,&voltage);

}

#ifndef test_h_

#define test_h_

void test(void);

#endif

2,然后就可以调用了

现在说下printf打印函数

1.TX是开发板上面的串口日志输出引脚(波特率115200), 用户可以接到串口模组RX引脚查看开发板打印的日志

注意:该引脚是1.8V引脚, 可以接到3.3V的串口模块上, 推荐串接一个1K电阻

2.使用这个引脚打印是使用  cm_log_printf

3.现在就可以加上打印刚才的采集的电压了

#include "test.h"

#include <stdint.h>

#include "cm_adc.h"

#include "cm_os.h"

#include "cm_sys.h"

void test(void)

{

    int32_t voltage;

    int32_t ret;

    //测试ADC0

    ret = cm_adc_read(CM_ADC_0,&voltage);

    cm_log_printf(0,"ADC ADC ADC ADC ADC ADC ADC ADC ADC ADC ADC ADC=%ld\r\n",voltage);

}

编译下载测试

下载的详细步骤用户去看    "编译下载和运行第一个程序"  那节,这里不再详细赘述;

1,编译

双击打开

先清理工程    ML307A_build.bat clean

编译 custom_main 工程

下面四个命令根据自己的开发板模组型号进行选择

ML307A_build.bat DCLN ML307A_build.bat DSLN ML307A_build.bat GCLN ML307A_build.bat GSLN

2,下载

选择生成的zip文件,然后点击start

先一直按着BOOT按键,然后按一下RST按键, 然后松开RST按键, 最后松开BOOT,此时模组进入了烧录程序模式

烧录成功以后点击 Back返回

3,测试

使用串口模块连接上

复位一下开发板可以看到打印的日志

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
    • 通过上节的 编译下载和运行第一个程序 咱知道咱是在custom里面写自己的程序;
      • sys_package是这边自己增加的文件,后期将会把封装的功能放到里面,然后提供接口使用文档供用户使用;
        • 咱后面写自己的程序的时候需要把.c文件放到src文件夹里面(这是硬性规定);   .h文件可以随意
          •  custom_main.c 里面的   int cm_opencpu_entry(char * param)      函数是程序的main函数, 程序从这个函数里面开始执行
          • 现在新建.c和.h文件
            • 因为我不喜欢把.c文件和.h文件分开, 所以我直接把.c和.h文件放到src里面
              • 1,在src文件夹右键选择 新建文件
                • test.c
                  • 2,同样在src文件夹新建个test.h文件
                    • 3,然后如果要使用test.c 需要在 custom_main.mk 里面添加包含
                      • OC_FILES += $(CUSTOM_MAIN_DIR)/src/test.c
                      • INC      += -I'$(CUSTOM_MAIN_DIR)/src'
                  • 现在说一下咱都可以直接写哪些 #include xxxx.h
                    • 1,首先这就是个单片机使用的C编译器,所以C库都是可以的
                      • 2,然后呢就是厂家内部封装好的库
                        • 这些呢咱都是可以直接在文件里面  #include xxxx.h
                      • 3,假设我需要在test里面使用模组的ADC功能, 只需要  #include "cm_adc.h"
                        • 4, 然后我就可以使用里的函数了
                          • 5, 除了上面的include里面的,其它地方也有几个
                            • 我只是全方面阐述,知不知道这个无所谓!
                        • 标准的思路
                          • 1,其实咱们都是在  examples 例子里面找需要的功能,找到自己需要的功能以后看看里面都调用了哪些.h文件咱就调用哪些就可以
                            • 2,假设我需要ADC的功能
                              • 3,我就可以去掉不必要的之后把需要的拷贝过来
                              • 现在我需要在 custom_main.c 里面调用test.c里面的 test函数
                                • 1,先按照正常写单片机C语言的规定补全 test文件
                                  • 2,然后就可以调用了
                                  • 现在说下printf打印函数
                                    • 1.TX是开发板上面的串口日志输出引脚(波特率115200), 用户可以接到串口模组RX引脚查看开发板打印的日志
                                      • 注意:该引脚是1.8V引脚, 可以接到3.3V的串口模块上, 推荐串接一个1K电阻
                                    • 2.使用这个引脚打印是使用  cm_log_printf
                                      • 3.现在就可以加上打印刚才的采集的电压了
                                      • 编译下载测试
                                        • 下载的详细步骤用户去看    "编译下载和运行第一个程序"  那节,这里不再详细赘述;
                                          • 1,编译
                                            • 双击打开
                                            • 先清理工程    ML307A_build.bat clean
                                            • 编译 custom_main 工程
                                            • 下面四个命令根据自己的开发板模组型号进行选择
                                            • ML307A_build.bat DCLN ML307A_build.bat DSLN ML307A_build.bat GCLN ML307A_build.bat GSLN
                                          • 2,下载
                                            • 选择生成的zip文件,然后点击start
                                            • 先一直按着BOOT按键,然后按一下RST按键, 然后松开RST按键, 最后松开BOOT,此时模组进入了烧录程序模式
                                            • 烧录成功以后点击 Back返回
                                          • 3,测试
                                            • 使用串口模块连接上
                                            • 复位一下开发板可以看到打印的日志
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档