microcontroller相关内容

在没有IDE的情况下如何使用CMSIS?

我正在使用STM32F103C8T6,并且想使用CMSIS,这实际上只是寄存器定义,没有代码,让我的生活更轻松,同时仍然保持低水平.问题是我不知道如何安装该库以在命令行上与Makefile一起使用.所有文档似乎都绑定了特定于供应商的IDE,例如STM32CubeIDE. 我想要做的第一件事就是下载CMSIS库,该库是在 GitHub上找到的.但是,解压缩 ARM.CMSIS.5.6.0.pa ..
发布时间:2021-04-09 19:27:32 其他开发

如何为Arduino或类似的微控制器编写JavaScript编译器?

我意识到这个问题会引起人们的注意,并且我意识到JavaScript在传统上是一种解释型语言,请让我解释一下: 我是专门从事Web应用程序(特别是.NET堆栈)的软件工程师.作为一种爱好,我喜欢创建在基于Arduino的组件上运行的 RC UAV .> 我还想用Arduino做其他几件事,但是坦率地说,C/C ++不是我最强的语言,我不想花有限的业余时间在C上读书. 我(以及我敢肯定的 ..

尝试了解加载内存地址(LMA)和ARM二进制映像中的二进制文件偏移量

我正在使用 ARM Cortex M4 ( STM32F4xxxx ),并且正在尝试了解二进制文件( *。elf)的精确程度。 和 *。bin )已生成并刷新到内存中,特别是关于内存位置。具体来说,我不了解 LMA 是如何从实际二进制文件偏移量中“翻译”的。让我用一个例子来解释: 我有一个 *。elf 文件,其(相关)部分如下一个:(从 objdump -h 获取) my_file. ..
发布时间:2020-10-29 03:15:04 其他开发

找不到PIC10F200的随附文件

我正在尝试在 PIC10F200 上编译一些代码,并且我正在使用MPLABX . 以下代码是main.asm文件: #include "p10f200.inc" ; CONFIG __CONFIG _WDT_OFF & _CP_OFF & _MCLRE_OFF ORG 0x0000 INIT ; We are initializing the microcontroller ..
发布时间:2020-09-12 22:56:59 其他开发

GCC:如何完全禁用MCU上的堆使用情况?

我有一个应用程序可以在基于ARM Cortex-M的MCU上运行,并用C和C ++编写.我使用gcc和g++进行编译,并希望完全禁用任何堆使用情况. 在MCU启动文件中,堆大小已经设置为0.除此之外,我还要禁止在代码中使用任何意外的堆. 换句话说,当malloc,calloc,free函数或new,new[],,使用delete[]运算符. 到目前为止,我已经尝试过-nostdl ..
发布时间:2020-09-07 02:47:42 其他开发

基于Java的微控制器?

我一直在研究微控制器,想知道它们中的大多数是否基于C/C ++?我非常精通Java,想问你们是否有人知道我可以研究的一种低成本,基于Java的微控制器. 感谢所有答案! 解决方案 诸如Java(或c#)之类的语言与诸如c或c ++之类的低级语言之间的区别在于它们具有虚拟机. 这具有许多优势,例如使应用程序与平台无关.但这也意味着每个平台都必须具有虚拟机. 现在,微控制器不是统一 ..
发布时间:2020-09-06 20:51:46 其他开发

RMS计算直流偏移

我需要在MCU(微控制器,资源受限)中实现正弦波的RMS计算. MCU缺少FPU(浮点单元),因此我宁愿停留在整数域中.捕获是通过10位ADC进行的. 在寻找解决方案时,我在Edgar Bonet的这里找到了一个很好的解决方案: https://stackoverflow.com/a/28812301/8264292 似乎完全符合我的需求.但是我有一些疑问. 输入为230 VAC ..
发布时间:2020-07-16 20:05:39 其他开发

微控制器编程中ISR功能中的易失性关键字用法

作为一般概念,应将ISR函数中使用的全局变量(“值")声明为volatile,以避免编译器优化.但我怀疑是在ISR中调用的子函数"ISR-SUB"中使用了全局变量,是否还需要将在ISR中调用的使用了子函数的全局变量声明为volatile? unsigned int STATUS; // -----> needs to be declared as volatile ? void ISR- ..
发布时间:2020-05-09 19:47:52 其他开发

关于使用两个七段灯显示0x00到0xFF的问题

有人可以帮我吗?我一直在研究并尝试使其正常工作,但是我很不幸.我在网上找到的所有代码都无法正常工作...目前的输出为00、11、22、33,... FF,然后退回到00.如何分隔第一位和第二位显示?就像我希望它显示0到255(00、01、02 ... FF)一样? 要求: 电路首次通电时,七段LED将从0x00开始计数. 决斗段LED的计数最多为0xFF,每次增加1.计数必须是连 ..

使用UART发送结构

我有两个委员会: -主板(M板) -从板(S板) M董事会应向S董事会发送请求,后者应予以答复. 奴隶的答案是一个结构: typedef struct{ uint8_t userID; uint8_t userPass; uint16_t userData; }UserTypeDef; UserTypeDef User; 示例: M板通过发送命令GET_U ..
发布时间:2020-05-09 19:47:46 其他开发

如何在C中缩放数字/数字范围

我希望能够在我的LCD模块上以英尺为单位显示海拔高度,范围从0英尺到20000英尺.这些数字是从电位计读取的,我可以旋转它来更改值.目前,电位器的显示范围是0到1023,但我需要适当地缩放这些值,以使它们的读数从0-20000ft.除此之外,我还希望下面的线显示一个“条形图"来表示海拔高度的增加. LCD每行有20个块,因此条形图的范围从1个块到20个块. sprintf(buf, " ..
发布时间:2020-05-09 19:47:43 其他开发

使用Qt的串行端口的扩展行为

我正在使用QT执行一个应用程序,以通过rs-232与8位微控制器进行PC通信.我正在使用QtSerialPort库,并且通讯正常,但是每次我从PC向微型计算机写东西并且收到响应时,我都必须关闭并打开串行端口,否则我将无法继续通讯.配置为:10500 bps,8位,1个停止,无奇偶校验,无流量控制. 下一个用于配置和端口的演讲/写作的代码: bool DriverS::configure ..
发布时间:2020-05-09 19:47:40 C/C++开发

如何在不使用库的情况下将整数数组转换为字符串

所以我正在实习项目. 我必须开发一个整个系统,该系统将收集一些数据,然后将其发送到服务器.该系统由MSP430G2553微控制器组成,因此我使用纯C语言进行编码,而没有任何库,因此无法使用sprintf或malloc函数. 此刻我遇到的问题是我不知道如何将数组中的所有数据立即发送到服务器. 我有一个数组ADCvalue [20],其中包含20个值,范围从0-350 ADCv ..
发布时间:2020-05-09 19:47:37 其他开发

使用Java解析包含汇编语言的文件的最佳方法是哪种?

我从java.util.regex软件包中阅读了有关StringTokenizer,StreamTokenizer,Scanner,Pattern和Matcher的信息.我还阅读了有关它们的意见,但确实感到困惑:最好使用哪种意见? 我需要做的是制作一个Assambler,即从该文件解析包含汇编语言的文件,然后将其转换为机器代码. 例如,如果我有汇编代码: MOV R15,R12 ..
发布时间:2020-05-09 19:47:35 Java开发

在设备管理器中更改属性

我正在使用串行设备,我想与微控制器通信我的计算机.在我的C#程序中,我可以设置波特率,停止位,数据位等.这些仅在我的C#程序中即可. 例如,我在微控制器和C#程序中设置了波特率115200,但是当我在设备管理器中看到设备的属性时,波特率仍使用默认值9600 bps.我不知道通信的好坏,我的C#程序和微控制器使用115200bps,在属性中使用9600bps,但是通信正常. 如何在设备管 ..
发布时间:2020-05-09 19:47:32 C#/.NET

PIC-RB7是否有价值?

我读取了端口RB7,并检查了值.如果RB7上有输出,我希望芯片上的LED点亮(LED D1),但是即使没有任何连接到RB7,它也会一直点亮.我做错了什么?那就是PIC 18F4550,它是用mplab v8.63和C18编译器编写的. void main (void) { TRISD = 0x00; // PORTD als uitgang TRISB = ..
发布时间:2020-05-09 19:47:30 其他开发

如何访问外部SDRAM中的变量

我正在研究TM4C1294 + ccs 6.0.1 + TI 5.1.9(编译器). 在8MB外部sdram中读取/写入变量的效果很好,例如g_pui16EPISdram = (uint16_t *)0x60000000; g_pui16EPISdram[SDRAM_END_ADDRESS ] = 0xdcba; 但是,由于我使用“属性指令"访问外部sdram,如下所示:int abab[2 ..
发布时间:2020-05-09 19:47:25 其他开发

同时写入多个文件

我正在研究一个项目,该项目涉及使用Beaglebone读取多个传感器,然后将这些数据传递到文本文件中.我正在监视六种不同的肌肉,因此每个文件都有对应的文件. 现在,有6个传感器馈入Beaglebone Black的ADC引脚,我的代码指示Beaglebone为每个引脚创建1个单独的文件.每当我运行以下代码时,我只会得到一个文件(第一个函数运行).以前,我没有包括"while True:"语句 ..
发布时间:2020-05-09 19:47:20 Python

连接微控制器时在vb6中打开和关闭mscomm端口时出现问题

代码是使用串行端口从微控制器或串行设备中的任何设备中获取数据,所以我在打开端口和获取数据方面遇到问题,请在最近20天的时间内解决此问题,请尽早帮助我: ) Private Sub Command1_Click() MsgBox ("The port is open " & MSComm1.PortOpen) If (MSComm1.PortOpen = False) The ..
发布时间:2020-05-09 19:47:17 其他开发

通过JTAG恢复STM32 MCU的打磨痕迹

我有一块带有STM32 MCU的板.我想为该板制作自定义固件,因为库存极少.不幸的是,电路板制造商善良地磨掉了所有标记.是否可以通过jtag获取设备/家庭ID并将其交叉引用到型号?我所能找到的一切都是关于获取芯片的唯一ID的,这不是我所需要的. 解决方案 在 pystlink 中(SWD程序员) )是实现,几乎可以成功识别任何STM32 MCU. 原理是: 从寄存器 stm32 ..
发布时间:2020-05-09 19:47:14 其他开发