上位机图像处理和嵌入式模块部署(f407 mcu开发板基本测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        我们拿到一个新的开发板之后,一般都需要测试一下基本功能。这里面一部分功能是我们比较熟悉的,比如说led、key输入、串口、定时器中断、看门狗等等,还有一些可能是新的开发板自带的,比如spi、tf卡、eth网口等等。所以一开始拿到板子的时候,我们就要做一些准备,有软件的准备,有硬件的准备,我们来简单梳理下。

1、下载f407 pack包

        之前我们学习了103核心板,所以安装了keil和103的pack包。这里我们继续学习407,所以同样需要安装407的pack包。这部分甚至可以在没有拿到板子之前,就提前安装下。

2、和商家沟通好具体资料和代码的下载地址

        目前电商网站上面,一般商家都会给出相关开发板的资料,有芯片手册,有电路图,有源代码。只要我们出示了相关的购买记录,这部分资料还是很容易拿到的。

3、使用j-link仿真器

        之前我们一直使用st-link v2下载和调试代码,每次下载之前都需要erase,感觉有点麻烦。所以这次选用了j-link进行仿真、烧录。实际使用下来,速度还是非常快的,最关键一点不需要每次烧录之前erase一下。此外407的flash要比103大很多,真的要erase的话,时间还是蛮久的。

4、编译好商家的代码

        一般拿到代码之后,第一步,先保证能够正确地把商家给出的代码编译出来。不然没有办法进行后面的工作。因为这个板子是朋友开发的,所以有什么问题,可以直接咨询朋友。大家如果是电商网站上开发的,有什么编译问题,其实也可以咨询商家的。

5、安装好环境

        拿到板子之后,就需要开始硬件接线了。一般除了开发板和j-link之外,我们还需要准备usb转232模块、usb hub、tf卡、网线和type c 连线。其他问题不大,但是232串口和j-link的连线比较容易接错。串口基本就是收、发、地,对应开发板的引脚即可。j-link麻烦一点,需要找到带缺口的第一排的6、7、10,以及第二排的6,对应的信号分别是clk、dio、3.3v、gnd。

        其中j-link是自带电源3.3v的,所以烧录的时候不再依靠type c接口提供电源。

6、串口软件

        测试用例中,有一部分串口打印是中文,有点麻烦,用mobaxterm不太好显示。这里直接借用了某原子的ATK-XCOM软件,可以正常显示中文。

7、烧入第一个按键检测的代码

        这个case比较简单,主要就是看按键按下去的时候,led灯有没有关闭和熄灭。默认demo代码是led闪烁的效果。通过j-link工具和keil load按钮下载之后,发现没有效果。初步认为是开发板没有reset,那就重新烧录一下,结果发现依然没有效果。经过排查,发现是电路图的pin脚和demo不匹配,修改一下,

#define LED1_PIN                  GPIO_Pin_3               
#define LED1_GPIO_PORT            GPIOC                      
#define LED1_GPIO_CLK             RCC_AHB1Periph_GPIOC

        重新编译烧录,发现led开始常亮,但是没有闪烁的效果,观察发现是延时过短的原因造成的。之前的30000调整为3000000,

	while(1)                            
	{	   
		GPIO_SetBits(LED1_GPIO_PORT,LED1_PIN);
		Key_Delay(3000000);
		GPIO_ResetBits(LED1_GPIO_PORT,LED1_PIN);
		Key_Delay(3000000);
    }

        led闪烁没有问题了,下面开始测试按键。这个时候需要把Delay相关代码注释掉。首先测试key1,重新编译烧录后,一切正常。

    while(1)
    {
		if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON  )
		{
			LED1_TOGGLE;
		} 
    }

        继续测试key2,因为整个开发板只有电源灯和led,所以依然用key2控制led1,

    while(1)
    {
        if( Key_Scan(KEY2_GPIO_PORT,KEY2_PIN) == KEY_ON  )
		{
			LED1_TOGGLE;
		}   
    }

        这次发现,没有效果。我们先排查引脚对不对,和之前的电路图对比一下,

        发现demo代码中的code和pa0、pc13是对的上的。进一步发现,确认pc13的mode设置错误,需要配置成这样,

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;

        修改下,重新编译、烧录之后,发现现在也可以用key2控制led灯了。

8、串口调试

        弄清楚了按键检测的代码之后,接下来可以找一个串口的demo。正好作者给出的代码包里面有这样的示例代码。不妨打开一个uart1控制led1的项目。首先,还是需要把接线部分都接上。因为涉及到一个usb转232的串口,而本身pc电脑的usb并不多,所以最好加一个usb hub转接一下,稍微麻烦点。不过,由于作者设计电路的时候,把swd和tx/rx/gnd放在了一起,整体使用还是比较方便的,

        其次还是led灯的问题,需要修改成pc3。编译烧录后,我们打开上面介绍的ATK-XCOM软件。配置好基本的波特率信息,一般就是115200,复位之后就可以看到相关打印了,

        如果输入1,led亮;输入4,led灭。其他led灯没有效果。至此,407板子的基本功能调好了。后续spi、tf卡、eth还有待进一步调试。

9、总结

        整个示例代码使用的是库函数版本,实际使用和hal差别不大,当然和寄存器版本相比较,肯定好用很多。大家实际使用中可以根据自己的情况灵活做选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/669683.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣Hot100-有效的括号(栈stack)

给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

泛型知识汇总

演示代码&#xff1a; package exercise;import java.util.Arrays;public class MyArrayList<E> {Object[] obj new Object[10];int size;public boolean add(E e) {obj[size] e;size;return true;}public E get(int index) {return (E) obj[index];}//没有这个函数&a…

JVM(Java虚拟机)笔记

面试常见&#xff1a; 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM&#xff0c;什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取&#xff1f;怎么分析Dump文件&#xff1f;谈谈JVM中&#xff0c;类加载器你的认识…

【记录】网络|没有路由器没有网线,分别使用手机或Windows电脑共享网络给ARM64开发板,应急连接

事情是这样的&#xff0c;我的开发板明明已经选择了记住热点 WiFi 密码&#xff0c;但是却没有在开机的时候自动连接&#xff0c;我又没有放显示器在身边&#xff0c;又不想为了这点事去找个显示器来&#xff0c;就非常难受。 我手边有的设备是&#xff1a; 笔记本电脑&#…

关于 c++ cout << endl; 的源码解释

这行语句非常常用。以前在王老师课上&#xff0c;老师提到过 endl 是一个函数模板。现给出这行语句的相关源码&#xff1a; 反汇编的依据如下&#xff1a; 接着是 谢谢

香橙派 Kunpeng Pro使用教程:从零开始打造个人私密博客

一、引言 在这个日益互联的世界中&#xff0c;单板计算机已经成为创新和个性化解决方案的重要载体。而在单板计算机领域&#xff0c;香橙派 Kunpeng Pro凭借其强大的性能和灵活的应用潜力&#xff0c;正逐渐吸引着全球开发者和技术爱好者的目光。 作为一款集成了华为的鲲鹏处…

领域建模(系统操作复习)

习题 问题 考察点 领域建模 识别概念类 固定模板 Conceptual Class Category Examples specifications,designs, or descriptions of things roles of people containers of other things things in a container abstract noun concepts organizations events processes (…

OpenAI 的 GPT-4o 是目前最先进的人工智能模型!如何在工作或日常生活中高效利用它?

OpenAI 的 GPT-4o 是目前最先进的人工智能模型&#xff01;如何在工作或日常生活中高效利用它&#xff1f; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大…

开发板uboot与virtualbox虚拟机、windows11网络互通

环境&#xff1a;virtualbox中ubuntu22.04.4&#xff0c;开发板通过网线再经过拓展坞usb网卡跟windows11连接。连接如下&#xff1a; 1、关闭windows防火墙(重要) 2、先在VirtualBox的工具选项创建两个网络【仅主机(Host-Only)网络】和【NAT网络】 仅主机(Host-Only)网络的ip:…

二位偏序,P3660 [USACO17FEB] Why Did the Cow Cross the Road III G

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 P3660 [USACO17FEB] Why Did the Cow Cross the Road III G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二、解题报告 1、思路分析 二维偏序问题 我们将坐标按照第一维排序 然后树状数组维护区间内的…

树莓派LCD显示屏安装驱动详细教程

使用LCD显示屏有两种方式&#xff0c;1.如果你已安装好树莓派官方系统&#xff0c;需要单独安装驱动才可点亮显示屏。 2. 也可以直接烧录我们提供的系统 里面已含驱动程序。 一&#xff1a;连接方式 按照下图方式连接好LCD显示屏与树莓派主板 二&#xff1a;安装系统镜像&…

【Linux】如何利用linux项目自动化构建工具-make/Makefile以及vim编辑器构建两个小程序:倒计时和进度条

1.倒计时小程序 首先我们Linux中创建目录test1&#xff0c;该目录中包含了makefile文件&#xff0c;和main.c文件&#xff08;该文件是源文件用于编写倒计时程序的代码&#xff09;再进行依赖方法和依赖关系的确定&#xff1a; 利用vim编辑器编辑makefile文件&#xff1a; 注意…

基于react native的图片放大旋转效果二

基于react native的图片放大旋转效果二 const TaskReceiveModal ({ onClick }) > {const spinValue useRef(new Animated.Value(0)).current;const scaleValue useRef(new Animated.Value(0)).current;const spinAnimation useRef(null);const spin spinValue.interpol…

车流量监控系统

1.项目介绍 本文档是对于“车流量检测平台”的应用技术进行汇总&#xff0c;适用于此系统所有开发&#xff0c;测试以及使用人员&#xff0c;其中包括设计背景&#xff0c;应用场景&#xff0c;系统架构&#xff0c;技术分析&#xff0c;系统调度&#xff0c;环境依赖&#xf…

Qt Demo:基于TCP协议的视频传输Demo

目录 1.设计思路 2.Pro文件配置 3.头文件引入 4.界面设计 5.初始化设备函数 6.发起视频链接函数 7.初始化定时器模块函数 8.TCP链接模块函数 9.处理接收的数据线程函数 10.实现功能展示 设计思路 基于TCP协议的视频传输Demo&#xff0c;设计要实现的功能主要是TCP传输还有视频&…

带DSP音效处理D类数字功放TAS5805M中文资料

国产替代D类数字功放中文资料访问下方链接 ACM8628 241W立体声182W单通道数字功放中文寄存器表 内置DSP多种音频处理效果ACM8628M-241W立体声或182W单通道数字功放 1 特性 具有增强处理能力和低功率损耗的 TAS5805M 23W、无电感器、数字输入、立体声、闭环 D 类音频放大器 …

测试:ollama加载羊驼版本llama-3中文大模型

找了一个晚上各种模型&#xff0c;像极了当初找各种操作系统的镜像&#xff0c;雨林木风&#xff0c;深蓝、老毛桃…… 主要是官方的默认7B版本回答好多英文&#xff0c;而且回复的很慢&#xff0c;所以我是在ollama上搜索"chinese"找到了这个羊驼版本的&#xff0c…

代码随想录-Day25

216.组合总和III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输…

Maven打包错误:无效的源发行版:17

1. 报错问题 在用maven进行打包时&#xff08;clean & install&#xff09;&#xff0c;报如下错误&#xff1a; 一开始让我很摸不着头脑&#xff0c;我确定我的pom.xml&#xff0c;还有IDEA中的Project Settings是正确的。 2. 排查 尽管确定&#xff0c;但还是一个个排…

升级笔记本

笔记本型号参数&#xff1a;Acer V5-573G CPU:I5 4200U 1.6GHz 最高2.6GHz 双核四线程 内存&#xff1a;4G 1600M DDR3L SO-DIMM 显卡&#xff1a;独立显卡NVIDIA GeForce GT 750M 硬盘&#xff1a;1T 5400转 屏幕&#xff1a;15.6英寸 1920*1080 【Acer V5-573G-54204G1…