Global Moderator
Dallas
Online
Shannon Member
Karma: 118
Posts: 10153
|
 |
« Reply #480 on: January 22, 2013, 10:44:55 pm » |
Anything else I forgot? millis and its ilk will be off. This... http://arduino.cc/forum/index.php?topic=70475.0 ...cures millis (for 20 MHz). I can probably rustle up a fix for micros (which fixes delay) if you need it. For delayMicroseconds I suggest using _delay_us from AVR Libc.
|
|
|
|
|
Logged
|
|
|
|
|
Global Moderator
Dallas
Online
Shannon Member
Karma: 118
Posts: 10153
|
 |
« Reply #481 on: January 22, 2013, 10:47:55 pm » |
Now I can't say for sure that it is working perfectly... I vaguely recall from the folks at avrfreaks that EEPROM writing is the first to "go" as the clock speed increases.
|
|
|
|
|
Logged
|
|
|
|
|
Global Moderator
Melbourne, Australia
Offline
Shannon Member
Karma: 218
Posts: 13897
Lua rocks!
|
 |
« Reply #482 on: January 22, 2013, 11:08:08 pm » |
It would be interesting to experiment with things where speed is the essence, like writing VGA output.
Running at 24 MHz is a 50% speed boost, which isn't too shabby.
|
|
|
|
|
Logged
|
|
|
|
|
SE USA
Offline
Faraday Member
Karma: 33
Posts: 3621
@ssh0le
|
 |
« Reply #483 on: January 22, 2013, 11:38:47 pm » |
you should look at some of the xmega's, arduino support is out there, no idea how perfect it is with libraries and whatnot, but the core is there to write your own. Anyway those things come in 8 and 16 bit flavors clocked up to 32Mhz.
I have a small strip of them and some 25.175Mhz crystals, the dot clock speed of 640x480 VGA, which easily divides for sync signals (not specificly for generating 640x480 graphics)
|
|
|
|
|
Logged
|
http://arduino.cc/forum/index.php?action=unread;boards=2,3,4,5,67,6,7,8,9,10,11,66,12,13,15,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,86,87,89,1;ALL
|
|
|
|
Global Moderator
Melbourne, Australia
Offline
Shannon Member
Karma: 218
Posts: 13897
Lua rocks!
|
 |
« Reply #484 on: January 22, 2013, 11:48:20 pm » |
I don't particularly care about recompiling the core because only a small number of things will be out. For example, baud rates, but you can compensate for that. And you could compensate for the readings returned by millis().
|
|
|
|
|
Logged
|
|
|
|
|
SE USA
Offline
Faraday Member
Karma: 33
Posts: 3621
@ssh0le
|
 |
« Reply #485 on: January 23, 2013, 12:28:16 am » |
|
|
|
|
|
Logged
|
http://arduino.cc/forum/index.php?action=unread;boards=2,3,4,5,67,6,7,8,9,10,11,66,12,13,15,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,86,87,89,1;ALL
|
|
|
|
Offline
Sr. Member
Karma: 9
Posts: 279
|
 |
« Reply #486 on: January 23, 2013, 01:00:25 am » |
So you just popped out the 16Mhz crystal and replaced it with the 24Mhz?
|
|
|
|
|
Logged
|
|
|
|
|
Global Moderator
Melbourne, Australia
Offline
Shannon Member
Karma: 218
Posts: 13897
Lua rocks!
|
 |
« Reply #487 on: January 23, 2013, 01:06:32 am » |
This was on one of my breadboard models, but yes, I shoved the crystal in, and reprogrammed the fuse to not use the internal oscillator, as shown:  The ICSP programming cable is visible.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 9
Posts: 279
|
 |
« Reply #488 on: January 23, 2013, 01:09:54 am » |
So I can use any existing 16Mhz bootloader (example: from Adafruit) with a 20/24 Mhz crystal, right? -- millis() timing may be off, but all the others should work fine as is.
|
|
|
|
|
Logged
|
|
|
|
|
Global Moderator
Melbourne, Australia
Offline
Shannon Member
Karma: 218
Posts: 13897
Lua rocks!
|
 |
« Reply #489 on: January 23, 2013, 01:17:03 am » |
The thing about the core is, the processor doesn't really know what speed it is running at. So for example if you use the 8 MHz internal oscillator everything will just be half the speed. So a 9600 baud rate for the serial port will really be 4800 baud. And delay (1000) will really delay 2000 mS. Now for the bootloader, the problem will be it expects a certain baud rate. However if you change boards.txt to reflect the difference, it should work. So for example, for the Uno: uno.name=Arduino Uno uno.upload.protocol=arduino uno.upload.maximum_size=32256 uno.upload.speed=115200 uno.bootloader.low_fuses=0xff uno.bootloader.high_fuses=0xde uno.bootloader.extended_fuses=0x05 uno.bootloader.path=optiboot uno.bootloader.file=optiboot_atmega328.hex uno.bootloader.unlock_bits=0x3F uno.bootloader.lock_bits=0x0F uno.build.mcu=atmega328p uno.build.f_cpu=16000000L uno.build.core=arduino uno.build.variant=standard
Since the upload speed is normally 115200 you would need to increase that to 115200 * 24 / 16, which is 172800, assuming the USB chip can handle that speed. However in my case I programmed with ICSP (not the bootloader) so that didn't apply. So, disclaimer: I didn't test with a bootloader.
|
|
|
|
|
Logged
|
|
|
|
|
Pittsburgh, PA, USA
Offline
Faraday Member
Karma: 30
Posts: 2916
I only know some basic electricity....
|
 |
« Reply #490 on: January 23, 2013, 05:00:26 am » |
Could you bootload at one speed and run at different?
|
|
|
|
|
Logged
|
Examples can be found at Learning in the Main Site and at the Playground
|
|
|
|
Global Moderator
Melbourne, Australia
Offline
Shannon Member
Karma: 218
Posts: 13897
Lua rocks!
|
 |
« Reply #491 on: January 23, 2013, 06:02:40 am » |
Absolutely. All the bootloader does is put the program into program memory. You could then turn the power off, replace the crystal, and power it up again.
|
|
|
|
|
Logged
|
|
|
|
|
Dallas, TX
Offline
Sr. Member
Karma: 10
Posts: 315
|
 |
« Reply #492 on: January 31, 2013, 01:28:09 pm » |
One of my offspring got one of these for Christmas. Have any of you seen them? Made in the UK and pretty nifty. http://www.mikromart.com
|
|
|
|
|
Logged
|
|
|
|
|
Boston Suburbs
Offline
God Member
Karma: 14
Posts: 955
I am above your silly so-called "Laws", Mister Ohm.
|
 |
« Reply #493 on: March 04, 2013, 04:51:32 pm » |
Since when is Radio Shack reasonably priced? Went to the MALL store and got a Seeed Studio Proto Shield for $9.99!
Okay- Credit where credit is due.
Seeedstudio-- the protoshield kit is awesome. This is a great deal at ten bucks. I expected the board headers and such, and not much else. However, they also toss in an extremely useful collection of common components: two red and two green LEDs, a bicolor LED, resistors for the LEDs, a 10k pot, two 40-strips of male pin headers, a 40-strip of female header, a 40-strip of long male headers, spare spacers, four tactile switches and two slide switches, and a USB socket. That's a heck of a lot for ten bucks!!!
I will be grabbing these again!
|
|
|
|
« Last Edit: March 04, 2013, 07:41:19 pm by focalist »
|
Logged
|
When the testing is complete there will be... cake.
|
|
|
|
Maine
Offline
Sr. Member
Karma: 7
Posts: 320
Caution: Explosives in use.
|
 |
« Reply #494 on: March 04, 2013, 06:06:47 pm » |
I finally bought an ISP for burning bootloaders, lol. Its apparently based on the USB ASP. Cost $7 on ebay.
I also bought a used server rack with UPS, 6 servers, a DAS, and a bunch of other junk. I'm probably going to use it to test an arduino based datacenter monitoring system.
|
|
|
|
|
Logged
|
"Anyone who isn't confused really doesn't understand the situation." Arduino-based airsoft props -> www.nightscapetech.com
|
|
|
|
|