atmega相关内容

Arduino:将数据存储在 EEPROM 中的轻量级压缩算法

我想用 ATmega168/将大量数据存储到我的 Arduino 上ATmega328 微控制器,但遗憾的是只有 256 KB/512 KB 的 EEPROM 存储空间. 我的想法是使用压缩算法来减少大小.但是,我对压缩算法的了解非常少,而且我对现成库的搜索失败了. 那么,有没有优化存储大小的好方法呢? 解决方案 你可以看看 LZO 算法,设计为轻量级.我不知道AVR系统是否有 ..
发布时间:2022-01-25 13:01:59 其他开发

在 AVR 中,逻辑右移是否快了 2 的幂?

我想知道在移动 2 的幂时执行逻辑右移是否更快 例如是 myUnsigned >>4 比 更快 myUnsigned >>3 我很欣赏每个人的第一反应是告诉我不要担心这样的小事,它使用正确的算法和集合来减少重要的数量级.我完全同意你的看法,但我真的想尽我所能从嵌入式芯片(ATMega328)中挤出一切——我刚刚得到了一个值得“哇哦!"的性能转变.通过用位移替换除法,所以我向你保证这 ..
发布时间:2021-12-20 16:04:17 C/C++开发

没有“计数器"的计数在微控制器中是可能的吗?

你好朋友,我是微控制器领域的新手,想知道在不使用计数器的情况下是否无法对事件进行计数,我的意思是通过监视连接到事件生成器的引脚.我问这个问题是因为目前我想计算传感器的频率我已经使用 DSO(数字存储示波器)检查了它的频率,它(DSO)说它的频率是 98khz 但是我们现在都知道 8 位计数器的最大值是 255 那么它是如何可能的......传感器连接到PB0(TCNT0/Atmega16的计数器0 ..
发布时间:2021-11-17 04:08:02 其他开发

解决“重新声明为不同类型的符号"错误

我目前正在研究 Arduino.我正在使用 Atmega1284 为 Lamp 工作.我看到了一个示例代码,ModbusIP_ENC28J60 -> Lamp.我首先编译它没有添加任何东西,它编译正确.现在,我正在添加 WebSocketServer,因为我希望它也能在 websocket 上工作.我添加了一些必要的行,但最终出现了这个错误:错误:“EthernetClass Ethernet"重 ..
发布时间:2021-11-17 04:07:41 其他开发

C++:将成员函数作为普通函数指针传递的闭包

我正在尝试调用外部库的成员函数,该函数将函数指针作为参数: Timer::every(unsigned long period, void (*callback)(void)); 但不幸的是我想传递的参数是一个成员函数: void MyClass::the_method_i_want_to_pass(void); 由于我在 Arduino (AVR) 下为 ATMega 编程,因此对 c+ ..
发布时间:2021-11-17 03:54:05 C/C++开发

Android 上的蓝牙控制信号(DTR、DSR、RTS、CTS)

我想通过 Android 通过蓝牙 SPP 远程重新编程我的 Arduino.第一步是复位 ATMEGA 微控制器.这是通过切换 DTR 线在 Arduino 上完成的.是否有任何 API 可以从 Android 环境中控制蓝牙 SPP 控制线? 解决方案 一般 SPP 也支持发送或接收控制信号 (DTR, DSR, RTS, CTS) 我不知道任何 API 或库android 知道,但因 ..
发布时间:2021-11-17 03:53:06 移动开发

Arduino:在 EEPROM 中存储数据的轻量级压缩算法

我想使用 ATmega168/将大量数据存储到我的 Arduino 上ATmega328 微控制器,但遗憾的是只有 256 KB/512 KB 的 EEPROM 存储空间. 我的想法是利用压缩算法来减少大小.但是,我对压缩算法的了解非常少,而且我对现成的库的搜索失败了. 那么,有没有什么优化存储大小的好方法? 解决方案 您可以查看 LZO 算法,轻量级设计.我不知道 AVR 系 ..
发布时间:2021-11-17 03:44:44 其他开发

我正在用atmel编写AVR程序集,但“调用"程序是指令不起作用

我正在使用Atmel Studio 6.2为Atmega328p编写一些汇编代码. 但是,当我使用模拟器并逐步执行程序时,子例程的 call 指令不起作用.它完全忽略了 call 指令,并转到下一行. 为了测试 call 指令,我编写了一个简单的程序,其外观如下: .include"m328pdef.inc"ldi R16、11致电hello_worldmov R1,R0p你好,世 ..
发布时间:2021-04-12 20:51:36 其他开发

我如何在新版本的gcc中将可用的体系结构添加到旧版本的gcc中?

我想将Atmega1281架构添加到我正在使用的vcc的当前版本的gcc中. v3.3不支持Atmega1281,v4.2.1中增加了对Atmega1281的支持. 我无法将gcc升级到4.2.1,因此需要将支持添加到现有的编译器中. 有什么办法吗? 解决方案 为了添加架构, 三件事需要更新, gcc- gcc \ config \ avr \ avr.c, gcc \ ..
发布时间:2020-09-15 05:08:52 其他开发

使用gcc 4.7.x的Avrstudio 4.19工具链

我正在使用ATMEGA项目的makefile样式编译.作为Arduino IDE的传统,开发工具链主要针对gcc 4.3.2. Avrstudio 4.19 + Jtagice MKII CN + gcc 4.3.2 + make 可以通过某种方式工作.但是我的问题是gcc 4.3.2相当有问题.我看到例如与非易失性变量优化相关的随机错误,寄存器缓存的值并不总是写回到内存中,而且错误警告也很烦人. ..
发布时间:2020-09-15 05:07:34 其他开发

无法连接到具有16MHz晶体的Atmega328P芯片

我正在尝试通过eXtreme Burner连接到Atmega328P芯片.我使用22pf电容器和10K上拉进行复位. 如果使用8 MHz晶振,则可以读取芯片.但是,如果我连接16MHz晶体,则无法读取.当我查看数据表时,它说8 MHz和16 MHz的熔丝位是相同的.我收到16 MHz的“开机失败"错误消息.我正在使用USBASP编程器. 请注意:使用8 MHz晶体时,尽管我能够读取设备,但会收到错 ..
发布时间:2020-09-15 05:06:24 其他开发

在纯C语言中的atmega328上设置中断

我目前正在使用Arduino Uno开发板,并且尝试使用纯C编写它而不使用Arduino的库. 我正在工作的项目应该像这样工作: 将LEDs PB0设置为BP7 ON和OFF. 在连接到Button的PD2上设置中断. 按下按钮时,LED应当停止(暂停). 再次按下按钮时,LED应当再次转动ON 从最后一个LED开始,它是OFF. 更准确地说: 函数pl ..
发布时间:2020-09-15 05:05:16 其他开发

XMega计时器和微秒

我正在尝试从atxmega128a3u中释放一些数据,并且需要以最快4us的速度切换一个引脚,但是到目前为止,我还没有找到一个接近它的地方... 在这里,我将计时器设置为88us,但是大约是146us. int main(void) { //CRYSTAL SETUP OSC_XOSCCTRL = OSC_FRQRANGE_12TO16_gc ..
发布时间:2020-09-15 05:05:12 其他开发

解决“被声明为不同种类的符号".错误

我目前正在使用Arduino.我正在使用Atmega1284为Lamp工作.我看到了一个示例代码,ModbusIP_ENC28J60-> Lamp.我首先编译它而未添加任何内容,但编译正确.现在,我要添加WebSocketServer,因为我希望它也可以在websocket上工作.我添加了一些必要的行,但最终出现此错误: error: 'EthernetClass Ethernet' redecl ..
发布时间:2020-09-06 21:34:58 其他开发

ATMEGA32 UART通讯

我正在尝试在ATMEGA32中进行串行通信,并且我有一个问题: 在异步串行通信中,UBRRH和UCSRC寄存器都位于同一位置.我不知道该位置的哪些条件将充当UBRRH,对于哪些条件,它将充当UCSRC.根据分配给这些寄存器的工作,我需要为每个寄存器使用不同的值 在数据表中,他们提到在两个寄存器之间使用URSEL位进行选择,但不知何故. 解决方案 答案是:是的URSEL位.根据数 ..
发布时间:2020-07-13 02:12:05 其他开发

AVR中逻辑右移2的幂是否更快?

我想知道以2的幂进行移位时执行逻辑右移是否更快 例如,是 myUnsigned >> 4 比任何更快 myUnsigned >> 3 我很高兴每个人的第一反应就是告诉我,不要担心像这样的小事情,它使用正确的算法和集合来削减重要的数量级.我完全同意您的意见,但是我实际上是在尽我所能从嵌入式芯片(ATMega328)中挤出所有东西-我刚刚获得了不愧为"woohoo!"的性能提 ..
发布时间:2020-05-21 20:33:34 C/C++开发

初学者:AVR C ++ Atmel Studio 6

在解决我可以访问哪些库时遇到问题.我知道我可以使用Atmel Studio 6 IDE在C ++中对微控制器(Atmega328p)进行编程.但是,我无法确定在哪里可以找到我可以访问的库.例如,我可以使用STL(例如矢量,双端队列...)吗?如果有人可以指出一些文档,那就太好了. 谢谢. 解决方案 Atmel Studio 6没有附带STL实现. avr-gcc附带了一些库-请查看: ..
发布时间:2020-05-09 19:46:26 其他开发