avr

    0热度

    1回答

    我正在尝试使用Atmel Studio 7编程ATmega88PB以及AVRISP和Atmel ICE调试器。当试图读取设备ID,我得到了以下错误消息: Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 (Command has failed to e

    -6热度

    3回答

    没关系,我真的乞求帮助在这里,原因是地球的IM一个谷底。我花了几周的时间来做到这一点,但仍然无法做到。 我有一个AVR,我将recive从UART中有一个包含字符串的十六进制值。 例如: 0x3cffaa31 我需要把它拆分成 0x3c 0xff 0xaa 0x31 ,并将其存储到一个变量,所以我可以if语句用它做什么。 我怎样才能做到这一点,请帮助我。我已经在互联网上浏览,但我仍然

    0热度

    1回答

    任何人都可以找出为什么我的外部中断0不起作用吗?我正在使用带有ATmega164P的AVR STK 500板。是否因为D2引脚有两个功能? #include <asf.h> #include <avr/interrupt.h> #include <avr/io.h> #define F_CPU 8000000UL #include <util/delay.h> ISR(INT0_ve

    1热度

    2回答

    我想通过UART发送十六进制数据到我的AVR。问题是,我不能发送两对以上的十六进制。我需要发送两个以上,如9-10。 例如: 我只能派出0x2f和0x3f。 如果我发送更多,它总是减号。我需要发送0xff234f3a3f。 我的代码: sendString("wish me luck\n"); while(1) { char str[35]; int i;

    0热度

    1回答

    我在微处理器类中,我们正在编写自己的延迟函数,它们实际上是精确的。我们的教授给了我们,我认为是4毫秒延迟功能。我真的不知道如何将它转换为0.25秒或1秒的延迟,这对于我的作业来说都是需要的。 给定的功能如下(假设_BV()被定义为_BV(x)的1 < <(X)): DDRB |= _BV(1); TCCR1A |= _BV(COM1A0); TCNT1 = 0; OCR1A = 100;

    30热度

    3回答

    是否有可能得到一个#defined 整数符号被逐字地插入到字符串文本中,该文字是GCC中的汇编部分的一部分(AVR工作室)? 我想在下面的asm()块内的字符串文字中将“LEDS”替换为48。 #define LEDS 48 //I only want ONE mention of this number in the source int x = LEDS; //I'm using the v

    0热度

    1回答

    我们在我们学校与我的队友一起制作一个气象站项目,两者都使用带有arduino ide的windows pc:s来编程Nodemcu 1.0。 这个草图在我的电脑上安装库(adafruit dht library 1.3.0和adafruit统一传感器库1.0.2)没有问题编译。编译时错误的 队友报道: \Documents\Arduino\libraries\Adafruit_Sensor-1.0

    0热度

    1回答

    我想在xmega中做一个简单的开关。例如,如果我按一次,应该说 好 ,如果我再次按下它,它应该说 坏 等.. 我知道如何做在Arduino按钮debouncing,但我真的不知道AVR。有人可以帮助我,还是给我一些示例代码来学习? 这里是我到目前为止的代码: if (!(PORTH_IN&PIN0_bm)) { if (Mode1 != 1) { Mode1 =

    0热度

    2回答

    我目前正在为学习目的而编写一个库,并且遇到了一个奇怪的问题。 所以, 1.我有一个函数在主体(main.c)读取LCD的DDRAM地址。 2.我将完全相同的功能移动到库文件(HD44780.c)中。 3.我在主体中包含头文件(HD44780.h)。 当我从主体调用函数时,我得到64的结果。正确。 当我从库中调用相同的函数时,在之前的调用之后立即得到87的结果。错误。 也许它与库文件和函数的可达性有

    0热度

    2回答

    我想为Atmel ATMega32U4实现与Arduino的引脚号类似的东西。我看过Arduino的digitalWrite命令和相关的源文件,看看它们是如何做的,但我认为这有点复杂,所以我想实现一个更基本的版本。 这个想法是有整数1到n代表AVR芯片上的每个I/O引脚。我开始用指针数组的DDR/PORT寄存器,其中该指数将代表销地址: volatile uint8_t *pin_port_dir