AVR晶体管测试仪开源项目编译

AVR晶体管测试仪开源项目编译


  • 📍原项目地址:https://github.com/Mikrocontroller-net/transistortester/tree/master
  • 🌿 https://github.com/svn2github/transistortester
  • 🌿 https://github.com/wagiminator/ATmega-Transistor-Tester/tree/master
  • 📌立创开源广场项目:https://oshwlab.com/wagiminator/y-atmega-transistortester-smd
  • 📄📑项目介绍:https://www.mikrocontroller.net/articles/AVR_Transistortester

✨目前328P/PB单片机价格趋于合理范围,项目所使用的器件比较少,自制成本比较低。

  • 🍁基于晶体管测试仪开源项目制作的各型号:在这里插入图片描述

📘编译器版本和配置

✨推荐使用最新的编译器。如果选择使用原项目代码进行编译的话,可以使用低版本的WinAVR-20100110进行编译,后面更新的项目需要使用最新的AVR编译器来编译才行,否则会报下面的错误:

在这里插入图片描述

  • 🎈WinAVR-20100110下载地址:https://sourceforge.net/projects/winavr/files/WinAVR/20100110/或者https://osdn.net/projects/sfnet_winavr/
  • 🎈最新的编译器版本选择:GCC Compilers for AVR下载地址:https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers
  • 选择AVR编译器:
    在这里插入图片描述

  • 🌿基于window环境变量配置:将编译工具链下载下来并解压,将路径添加到系统环境变量中。
    在这里插入图片描述

在这里插入图片描述

  • 🌿测试是否添加成功:在命令提示符窗口中输入:avr-gcc --version

在这里插入图片描述

🔨功能配置
  • 🌿具体的硬件功能和型号配置,transistortester-是在头文件中配置,ATmega-Transistor-Tester是在Makefile中配置
    在这里插入图片描述

在这里插入图片描述

🛠项目编译
  • 🌿将项目源码下载后,在make文件夹内的地址栏输入cmd,按回车。
    在这里插入图片描述
  • 输入make按回车即可进行编译。
    在这里插入图片描述
  • 🎉如果编译时报错,可能是编译器版本问题,或者系统环境变量没有成功。重新配置后,如果重新编译程序,必须使用make clean清理一下,不然,可能重新编译也还会报错。
  • 📜编译完成:
    在这里插入图片描述在这里插入图片描述

📗烧录工具

如果有avrisp或者usbasp工具最好,通过ISP接口下载。因为全新的裸片MCU不支持串口下载。

  • 🔧烧录软件:推荐使用AVRDUDESShttps://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

  • 🌿这里使用328PB,CH340串口烧录做演示:
    在这里插入图片描述

  • 🌿熔丝位配置参考项目具体介绍

avrdude -c usbasp -p m328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
avrdude -c usbasp -p m328p -U flash:w:TransistorTester.hex
avrdude -c usbasp -p m328p -U eeprom:w:TransistorTester.eep

⛳编译报错解决方案

  • 🧨如果使用win10 X64系统,搭建的AVR编译环境,在编译项目时,可能会遇到找不到头文件的问题,由于编译器兼容性的问题,需要替换对应的msys-1.0.dll,复制到 winavr下 utils\bin 中覆盖.如果使用最新的编译工具链不存在这个问题。
  0 [main] sh 13304 sync_with_child: child 11844(0x14C) died before initialization with status code 0xC0000142
   38575 [main] sh 13304 sync_with_child: *** child state waiting for longjmp
/usr/bin/sh: fork: Resource temporarily unavailable

  • 🥕可以参考:http://www.openedv.com/posts/list/46357.html
    https://bbs.21ic.com/icview-1073342-1-1.html

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

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

相关文章

2. Revit API UI 之 IExternalCommand 和 IExternalApplication

2. Revit API UI 之 IExternalCommand 和 IExternalApplication 上一篇我们大致看了下 RevitAPI 的一级命名空间划分,再简单讲了一下Attributes命名空间下的3个类,并从一个代码样例,提到了Attributes和IExternalCommand ,前者是指…

vite配置unocss

在vue3vitetseslintprettierstylelinthuskylint-stagedcommitlintcommitizencz-git介绍了关于vitevue工程化搭建,现在在这个基础上,我们增加一下unocss unocss官方文档 具体开发中使用遇到的问题可以参考不喜欢原子化CSS得我,还是在新项目中使…

NumPy和数组

1.NumPy是什么 NumPy(Numerical Python的缩写)是一个开源的Python科学计算模块,其中包含了许多实用的数学函数,用来处理数值型数据。NumPy中,最重要和使用最频繁的对象就是N维数组。 为什么要学习NumPy? …

Java高级技术探索:深入理解JVM内存分区与GC机制

文章目录 引言JVM内存分区概览垃圾回收机制(GC)GC算法基础常见垃圾回收器ParNew /Serial old 收集器运行示意图 优化实践结语 引言 Java作为一门广泛应用于企业级开发的编程语言,其背后的Java虚拟机(JVM)扮演着至关重…

TikTok Ads广告综合指南:竞价策略及效果建议

作为全球最受欢迎的应用程序之一,TikTok不仅为用户提供了记录分享生活中美好时刻、交流全球创意的平台,也给全球的企业提供了一个直接触达用户的平台。随着Z时代用户人群的购买力不断上升,出海广告主们也逐渐将目光放在TikTok方面的营销。 上…

【Linux系统编程】线程

Linux线程 文章目录 Linux线程1.进程与线程区别2.线程优点3.API概要4.线程1.线程的创建2.线程等待内存共享验证3.线程退出关于对void** &的理解拓展 4.互斥锁1.创建及销毁互斥锁2.加锁及解锁 5.什么情况下会造成死锁6.条件**1. 创建及销毁条件变量****2. 等待****3. 触发**…

基于大数据的主流电商平台获取商品详情数据SKU数据价格数据

主流电商平台:淘宝 1688 闲鱼 京东 唯品会 蘑菇街 一号店 阿里妈妈 阿里巴巴 苏宁 亚马逊 易贝 速卖通 电子元件 网易考拉 洋码头 VVIC MIC Lazada 拼多多 ​ ​​​​​​​关于电商大数据的介绍: 主流电商大数据的采集:电商API接口的接入…

潮玩宇宙大逃杀APP系统开发成品案例分享指南

这是一款多人游戏,玩家需要选择一个房间躲避杀手。满足人数后,杀手会随机挑选一个房间杀掉里面所有的参与者,其他房间的幸存者将平均瓜分被杀房间的元宝。玩家在选中房间后,倒计时结束前可以自由切换不同房间。 软件项目开发成品…

【Linux】进程控制3——进程程序替换

一,前言 创建子进程的目的之一就是为了代劳父进程执行父进程的部分代码,也就是说本质上来说父子进程都是执行的同一个代码段的数据,在子进程修改数据的时候进行写时拷贝修改数据段的部分数据。 但是还有一个目的——将子进程在运行时指向一个…

自动控制原理【期末复习】(二)

无人机上桨之后可以在调试架上先调试: 1.根轨迹的绘制 /// 前面针对的是时域分析,下面针对频域分析: 2.波特图 3.奈维斯特图绘制 1.奈氏稳定判据 2.对数稳定判据 3.相位裕度和幅值裕度

JavaScript的数组排序

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Sora和快手可灵背后的核心技术 | 3DVAE:通过小批量特征交换实现身体和面部的三维形状变分自动编码器

【摘要】学习3D脸部和身体生成模型中一个解开的、可解释的和结构化的潜在表示仍然是一个开放的问题。当需要控制身份特征时,这个问题尤其突出。在本文中,论文提出了一种直观而有效的自监督方法来训练一个3D形状变分自动编码器(VAE),以鼓励身份特征的解开潜在表示。通过交换不同…

自学网络安全的三个必经阶段(含路线图)

一、为什么选择网络安全? 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。 未来3-5年,是安全行业的黄金发展期,提前踏入…

Python:基础爬虫

Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…

上海晋名室外危废品暂存柜助力储能电站行业危废品安全储存

近日又有一台SAVEST室外危废暂存柜项目成功验收交付使用,此次项目主要用于储能电站行业废油、废锂电池等危废品的安全储存。 用户单位在日常工作运营中涉及到废油、废锂电池等危废品的室外安全储存问题。4月中旬用户技术总工在寻找解决方案的过程中搜索到上海晋名的…

uniapp地图自定义文字和图标

这是我的结构&#xff1a; <map classmap id"map" :latitude"latitude" :longitude"longitude" markertap"handleMarkerClick" :show-location"true" :markers"covers" /> 记住别忘了在data中定义变量…

46.Python-web框架-Django - 多语言配置

目录 1.Django 多语言基础知识 1.1什么是Django国际化和本地化&#xff1f; 1.2Django LANGUAGE_CODE 1.3关于languages 1.4RequestContext对象针对翻译的变量 2.windows系统下的依赖 3.django多语言配置 3.1settings.py配置 引用gettext_lazy 配置多语言中间件&#x…

(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2+bx+c0 的两个根:

(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2bxc0 的两个根: b2-4ac 称作一元二次方程的判别式。如果它是正值,那么一元二次方程就有两个实数根。 如果它为 0&#xff0c;方程式就只有一个根。如果它是负值&#xff0c;方程式无实根。 编写程序&#xff0c;提示…

Linux结业测试题,旨在检测ip网络配置,文件权限等基础

Linux期末结业考试 一、评分方式&#xff08;总分100分&#xff0c;理论40分在职教云考试&#xff09; 主要涉及的知识和技能点*分值权重*Linux的最小安装10%激活网络&#xff0c;并正确设置ip地址10%克隆1台机器&#xff0c;并正确设置ip地址10%SSH免密互信服务10%文件和目录…

CNAS认证是什么?怎么做?

在全球化日益深入的今天&#xff0c;产品质量和安全已经成为企业生存和发展的重要基石。而在这个过程中&#xff0c;CNAS认证作为一种权威性的认可机制&#xff0c;发挥着不可替代的作用。那么&#xff0c;CNAS认证究竟是什么&#xff1f;我们又该如何进行这一认证过程呢&#…