Show Posts
Pages: 1 2 [3] 4 5 ... 18
31  Using Arduino / Programming Questions / Re: Attachinterrupt question on: June 27, 2013, 08:05:18 pm
Great link!  That helps a lot!
32  Using Arduino / Programming Questions / Re: Attachinterrupt question on: June 27, 2013, 06:27:50 am
Great explanations guys!  Thanks!  I wanted to use the timer interrupts on the Atmega but there may be 2 or 3 functions that could run on one timer interrupt, based on the current state of the machine.
33  Using Arduino / Programming Questions / Attachinterrupt question on: June 26, 2013, 08:03:38 pm
Reading the documentation in the library reference it seems that this is allowed:

Code:
attachInterrupt(0, myISR, LOW);

//do something here


detachInterrupt(0);
attachInterrupt(0, myOtherISR, LOW);

//do other stuff

How does this work exactly?  My understanding of interrupts on the Atmega is that the interrupt jumps to the corresponding interrupt vector which has the instruction to jump to the ISR.  I wasn't aware that the ISR specified at the interrupt vector could be changed during the running of the program.
34  Using Arduino / Project Guidance / Re: Sketch too big!!! First time this has happened to me. on: April 07, 2013, 06:01:58 pm
I'll give that a try....i use sprintf in a couple of places so maybe I can trim some fat there.
35  Using Arduino / Project Guidance / Re: SD card library - Why does pin 10 have to be configured as an output? on: April 07, 2013, 05:47:38 pm
Definitely! Thanks!
36  Using Arduino / Project Guidance / Sketch too big!!! First time this has happened to me. on: April 07, 2013, 01:50:36 pm
This little block of code:

Code:
//    if(recording && newReading)
//    {
//    if(strcmp(messageID, "GPGGA") == 0)
//      {
//        char filename[13];
//        sprintf(filename, "%s.txt", date);
//        if(!SD.exists(filename)) Serial.println("Making Directory");
//        File dataFile = SD.open(filename, FILE_WRITE);
//        
//        // if the file is available, write to it:
//        if (dataFile)
//        {
//          dataFile.print(latitude);
//          dataFile.print(",");
//          dataFile.print(longitude);
//          dataFile.print(",");
//          dataFile.println(satsUsed);
//          dataFile.close();
//        }  
//      }
//    }

takes my sketch from 27,444 bytes (just under the 28,672 byte limit for the leonardo) to over 33,000 bytes.  Is there a seriously trimmed down version of the SD library or perhaps the adafruit OLED display library that anyone knows about?
37  Using Arduino / Project Guidance / Re: Possible to initialize the return value of a function? on: April 07, 2013, 01:25:30 pm
That is perfect!  Thanks to the both of you!
38  Using Arduino / Project Guidance / Possible to initialize the return value of a function? on: April 07, 2013, 01:14:17 pm
If I have a function such as:

Code:
boolean test()
{
     return a==b;
}

is it possible to initialize the return value of test to "false" the same way that you can initialize a boolean variable to "false"?
39  Using Arduino / Project Guidance / Re: SD card library - Why does pin 10 have to be configured as an output? on: April 07, 2013, 01:06:12 pm
The documentation states that the library won't function properly if pin 10 isn't configured as an output, even if you aren't using it as the chipselect.  I haven't been able to find any explanation as to why it won't function correctly or if it is just specific features that won't function correctly.  Can someone explain what it is that won't work if you don't configure pin 10 as an output?  I've commented that line out in some of the example sketches and it seems to still work fine.  I am using a Leonardo with the sd card wired up to the spi pins and I'm using pin A4 as the chipselect.

It has to do with the internal SPI hardware inside the AVR chip, using that pin to configure itself to be in master or slave mode depending on the pin mode of that pin, output mode = master mode, input mode = slave mode. The AVR datasheet is the source of such gory details. If you were using a totally software drive SPI function then that would not be an issue, but you would not be able to obtain the high performance possible with the hardware SPI unit.

Lefty

Perfect explanation!  Thank you.  The shield that I made uses pin 10 for another function but I guess lucky for me that functionality uses the pin as an output also.  I guess I would have had problems if the other functionality used that pin as an input.
40  Using Arduino / Project Guidance / SD card library - Why does pin 10 have to be configured as an output? on: April 07, 2013, 12:30:28 pm
The documentation states that the library won't function properly if pin 10 isn't configured as an output, even if you aren't using it as the chipselect.  I haven't been able to find any explanation as to why it won't function correctly or if it is just specific features that won't function correctly.  Can someone explain what it is that won't work if you don't configure pin 10 as an output?  I've commented that line out in some of the example sketches and it seems to still work fine.  I am using a Leonardo with the sd card wired up to the spi pins and I'm using pin A4 as the chipselect.
41  Using Arduino / Programming Questions / Arduino IDE and writing libraries on: March 30, 2013, 07:33:32 am
I have read through various tutorials on writing Arduino libraries, and they are great for teaching the syntax and structure of a library, but they never get into the real basics of things such as how to let the Arduino IDE know that you are writing a library so that it will save a file with a .h or .cpp extension instead of the .ino extension.  Is it just up to the user to rename the saved file with a .h or .cpp extension?
42  Using Arduino / Project Guidance / Re: Burn Bootloader -> Arduino as iso on: February 23, 2013, 04:40:19 pm
You select the "Arduino as ISP" Programmer in the Tools->Programmer menu, select the target board in Tools->Board and then select Tools->Burn Bootloader

Thanks!
43  Using Arduino / Project Guidance / Burn Bootloader -> Arduino as iso on: February 23, 2013, 04:35:39 pm
I keep reading that under the tools menu there is a burn bootloader option that has a sub menu under it that gives you the option "burn boot loader arduino as isp".  Mine doesn't have that.  It is just "burn boot loader" with no sub-menu.  Where can I find the burn bootloader arduino as isp command?
44  Using Arduino / Project Guidance / Re: Brown out reset loop due to thin traces? on: February 17, 2013, 09:04:28 pm
Your proposed approach should work. Personally I use this sketch:

http://www.gammon.com.au/forum/?id=11638

You connect up the wires as shown (you don't need the SD card just to change fuses) and can then interrogate and change fuses through the serial monitor.

But, burning the bootloader should work OK. Assuming that the Arduino as ISP sketch actually does change the fuses.

Thanks!  I may give that a try.
45  Using Arduino / Project Guidance / Re: Brown out reset loop due to thin traces? on: February 17, 2013, 08:00:07 pm
To do that, do I just change this line in board.txt:

Code:
atmega328bb.bootloader.extended_fuses=0x05

to

Code:
atmega328bb.bootloader.extended_fuses=0x06

and then burn the bootloader again?

Yes that should do it. If you have a ISP programmer you shouldn't have to burn the whole bootloader. eg.

Code:
avrdude -c usbtiny -p m328p -U efuse:w:0x06:m



I just have the arduinoISP and the "burn bootloader" button on the arduino ide.
Pages: 1 2 [3] 4 5 ... 18