MCU for educational purposes

Go To Last Post
37 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We need advices to start with AVR in an educational enviroment.

Languages used: assembler and C (avr-libc)

Which mcu?

Better one simpler (like ATmega328) or with more pins (like ATmega8535)?

Thanks in advance

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do your students really need assembler?

Will their bosses really need assembler (which is MCU dedicated, while C/C++/Fortran/ADA are portable) - Fortran , I agree, has not (yet?-) been ported on 8 bits.

Getting good methods of structured programming (while playing with interesting hardware ; discovering complex hardware and complex language might lead to dispair) seems to me interesting in long term...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Use the mega328. Then you will be compatible with the Arduino.

The mega8535 has no JTAG and is pretty obsolete.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Then you will be compatible with the Arduino.

Don't just be compatible - buy one.
Quote:

Do your students really need assembler?

Ah one of the good old philosophical questions. I'd argue that any C programmer working in EMBEDDED would benefit hugely from having an understanding of the Asm. When for example the datasheet says "JTD must be written twice within 4 cycles". How are you going to verify that:

MCUCSR = (1<<JTD);
MCUCSR = (1<<JTD);

is actually generating that if you cannot read the Asm being generated? More generally embedded C often involves a question of optimisation (speed or size or even both). Again how do you verify the C code is generating the optimal solution if you cannot read it.

Then again if you are happy flashing LEDs then writing the obvious lines of C will probably always achieve all you really need.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There is a big difference between reading ASM and writing ASM. I will happily read some ARM or Microch*p assembly language. I have no intention of writing it.

Possibly like listening to music without composing it.

So I really don't think that intimate knowledge of assembly language is required when you look at code generated by a compiler. General knowledge? Yes.

I do think that a student needs confidence. Being able to create worthwhile projects is very valuable. Concentrating on HLL seems wise. Some students may choose to go 'low-level'. Others may design complex algorithms.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@clawson So we could buy Arduino boards, remove the programmed chip w/ bootloader then mount a new 328P to program/debug it with Dragon (debug on-chip is a must have in educational)?

@dbrion0606 Yes they have to know something about an arch. of a mcu (it doesn't matter which one) and the fundamental of programming in assembly of this arch. of course.

@david.prentice Yes, general knowledge, they have to know a bit of assembly but just for school exercises and elementary tasks (blinking of a LED, reading of a switch, simple interrupt)

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why remove the Arduino chip ?
You just need to open the RESET_EN solder bridge.

I have asked several times. There must be many Arduino owners that could verify this. i.e. the solder bridge.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
Why remove the Arduino chip ?

Because it is programmed with a bootloader (STK500v1 compatibile) that isn't recognized in AVRstudio -- as I know.

The reset mod instead is for Dragon (debugWire line) if I understood.

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The mega328 is an excellent choice as it is the big brother of the M48, 88, 168 family. The arduino is an excellent learning platform as you have proven examples to work off of.

As a Die hard ASSM programmer I have to agree with the majority that an understanding of the micros ASM language is helpful, stick with C as it is rare to find a company that wants their code done in ASM only.

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To answer the OP's most direct question, I recommend using the Mega328, instead of a device that has more pins, in an beginning microcontrollers course. They are cheaper and the pins don't matter.

In the C vs. A question, I have posted long rambling arguments in defense of Asm previously. But, learning ASM is a long process that is not easily transferable between processor types. C is great for beginning students. However, it is more important to have long and very detailed documentation of what every error that the student is going to C when using see at the beginning of the learning process. C error descriptions are very cryptic and are designed by and for lazy programmers using 1970-era computer equipment. Even when a beginner copies a simple program code example nearly exactly, errors will prevent the source from being compiled. And the error messages will be brick-wall of dense, IT professional-level jargon that will be frustrating and incomprehensible to beginning programmers.

Teachers need to create a guide that explains in clear and simple terms what every common compile error is, what causes it, and how to fix it. They should use as examples the common coding mistakes that beginners always make. University computer labs have tutors that perform this function. But outside of a lab with a patient and knowledgeable tutor, students run into a brick wall of incomprehensible compile errors that drives many to other majors.
So for C vs Asm, the answer is always 'better and simpler documentation'.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

david.prentice wrote:
Why remove the Arduino chip ?

Because it is programmed with a bootloader (STK500v1 compatibile) that isn't recognized in AVRstudio -- as I know.


You are way losing me. But I'm not much of a bootloader person...

1) Why is it critical that AVRStudio (well, I guess it is politically correct to say "Atmel Studio nowadays?) "recognize" the bootloader?

1a) Wow, with the popularity of the Arduino family and clones and etc. I'd think that would be a problem for many thousands of people.
http://www.engblaze.com/tutorial...

Quote:
... Once you’ve built your project successfully, you need to upload it to your device. Fortunately, you can do this using the exact same method as the Arduino IDE. Arduino uses the avrdude utility to flash via serial, and we’ll do the same. We just need to tell AVR Studio what options to use. ...

2) Why can't you simply ignore the bootloader section?

3) [and here is where my bootloader ignorance may come into play] Do the Arduinos typically have an ISP port as well?
http://dlnmh9ip6v2uc.cloudfront....
Regardless of lock bits and the like, I thought that one can hook up ISP to any AVR (well, RSTDISBL may be a problem) and after an Erase then fuses etc. can be changed. Why is replacing a chip necessary?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Because it is programmed with a bootloader
Which you can simply ERASE when you use a programmer in ISP mode. ie chip erase and it's not longer there. Also uncheck the bootreset fuse if set.

If you ever want it back and you have a programmer you can put it back.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
Which you can simply ERASE when you use a programmer in ISP mode. ie chip erase and it's not longer there.

What we are going to do, because IMHO the fuse programming is a part of learning AVR: by using bootloader hides all this.

Finally, we have to use also AVR assembler (not avr-gcc assembler) so this is another reason to use a "real programmer" (like Dragon) directly within AVRstudio without extra configuration in order to use external tools.

Reached the conclusion; for each student:

1 x Dragon + 6pin ISP cable
1 x Arduino One (ATmega328P) w/ reset mod + patch cables

1 x breadboard with pushbuttons, LEDs and so on...

1 x LCD Arduino shield etc. for future tasks (in C)

Now needs a way to cover the Arduino pin-numbering (ADC1, ADC2, etc) on silkscreen and put instead the pin naming of mcu: PC0, PC1 like here.

Any hint?

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are a brave professor !

Your students are guaranteed to set incorrect fuses, crash systems, ...
Just supply them with the firearms and ammunition, they are sure to shoot their own feet.

Yes. If you want to use debugWIRE, you might just as well erase the bootloader (and BOOTRST fuse).

Unless your students have unlimited time, hardware debugging and assembly code would be towards the end of the course. And only for the brighter students.

Even the bright students will lose interest if projects don't make any progress.

Of course Italian students may be quite unlike any other young people.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Your students are guaranteed to set incorrect fuses, crash systems, ...
Just supply them with the firearms and ammunition, they are sure to shoot their own feet.

One of the downsides of a 328 is that it has the very dangerous RSTDISBL fuse. As David says this really has the potential to spoil your day!

Do these Arduinos have DIP or QFP 328. If DIP is it socketed? If so then also get yourself one piece of STK500 so you can undo the irrevocable damage that the students may otherwise wreak. When some goon activates RSTDISBL un-socket the 328, plug it into the STK500, setup for HVPP and use that to get the thing back. If your country permits it then slap student over the wrists with a ruler. Hopefully he'll then remember never to touch the RSTDISBL fuse on an AVR ever again. ;-)

EDIT: ah ha - Uno appears to have the 328 socketed: http://arduino.cc/en/Main/Arduin... in that case all you need is an STK500 and a ruler.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
If your country permits it then slap student over the wrists with a ruler.

I normally advise the student to "shoot the teacher". But only those teachers that devise inappropriate ASM assignments.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:

Unless your students have unlimited time, hardware debugging and assembly code would be towards the end of the course. And only for the brighter students.

Are you saying that programming/debugging of AVR chip (in assembler too) it is not for a student?

Ok...we switch to PIC: head cache instead of bricked chips :D

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Yes they have to know something about an arch. of a mcu (it doesn't matter which one) and the fundamental of programming in assembly of this arch. of course.

There is no logical link with knowledge of an arch and assembly skills... else, PC programmers would add more assembly parts (the trend is rather to delete them, for maintaniblity).
I knew rather well MC6809 assembly -and could read 8080's one, too-), one millenium ago.
But I had learnt before Fortran (it was the fashion, then) and PL1 (I had read about structured programming, and there was a PL1 compiler: it offered more structures than Fortran66). When I programmmed in ASM, I asked my self : how would I do it in PL1? (I I had known C, I would have asked myself I would do I do it in C); then I coded.
Messems that, this millenium, the stage 'converting an high level language into a low level one' has been automated (may be students are aware of that?).
And, except for very specialised parts of a program (the most innerside part of the loops; accessing to peripheral registers), using an high level language is faster and more comfortable, without much loss of short term performance, leaving more time to learn other things.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No. I don't know the quality of your students, or the purpose of your course.

I do know that

    Serial.begin(9600);
    Serial.println("Hello World");

is easier than writing interrupt driven USART TX in assembler. They will both take a similar amount of CPU cycles. Thus permitting a similar amount of other processing in the foreground.

Yes. All code needs debugging. However the simpler code probably worked first time. Diagnostic print() statements are valid ways to test / debug high level code.

I am just suggesting that you start with projects that give reasonably swift results.

You will then find that certain tasks require speed or efficiency. Your students will appreciate solutions that give better performance. e.g. low-level C or ASM.

I feel very strongly that doing ASM tasks that have no performance advantage is wasting a student's time. That time could be spent learning sophisticated algorithms or hardware.

Most AVR applications will have a similar efficiency regardless of language, if you have a clear understanding of principles. Of course if you choose a PIC16Fxxx type, you get dramatic differences in computation. Control of peripherals will be similar, whichever family you use.

Yes, learning hardware debugging with debugWIRE will be an essential part of the later stages of the course.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just curious,
When does this course begin?

Quote:
Ok...we switch to PIC: head cache instead of bricked chips

Please do. And in the meantime I'll keep a ruler handy so when you come back after finding out how expensive using PIC's is I can slap your wrists :)

What I find odd is your dis-interest in the Arduino altogether considering you are from the arduino's motherland :?

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I loved doing 6502 assembler programming.
With care, I could get an impressive performance.

It would not be fair on students to teach them an obsolete CPU. Modern CPUs are more suited to compiled languages, and in consequence don't show dramatic differences in efficiency.

However microcontroller peripheral programming is largely: write to a register then wait for a bit to set/clear. Alternatively: write to a register. get on with other things. interrupt when ready.

I often struggle to think of any 'hand-crafted improvements' for compiler generated ASM. Realistically, any hand-tweaking is only worthwhile for less than 1% of any program. Even then, it is unlikely that the end-user would notice.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I often struggle to think of any 'hand-crafted improvements' for compiler generated ASM.

Except for video signal generation of course ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

What I find odd is your dis-interest in the Arduino...

Well, I re-read the thread and I'd say it is "misgivings" or "doubts".

Quote:

...considering you are from the arduino's motherland

Indeed. Just a few things that came to mind... [full disclosure: I'm not an Arduino person]

-- from the "motherland"
-- not expensive
-- readily available, authentic and clones
-- add a "mini shield" with a couple of buttons & LEDs and it should be ideally suited for learning microcontrollers in ASM
-- leave the bootloader alone, or reload it agin if desired after used for low-level work
-- after the "low-level" ASM course, ideally suited for the next step into high-level language programming
-- for application projects, there is a wealth of information out there on various software drivers
-- there are many shields out there for adding common peripheral functions to those apps
-- ... and cases, etc. to make a finished project
-- many discussion sites are quite active, giving lots of places for research and question-answering

So I guess my summary is that it would serve the needs of Intro to Micros as well as higher-level courses.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

At first I would to thanks you for your help and for your patience you have to read my horrible english :)

@jgmdesign : the motherland of Arduino seems don't love much Arduino: it is sad but it is the truth. A recent polling on a electronics community give the confirm: italians prefer PIC.
Why? Because italian people are xenophile or because they are educated (from the school) at "understanding the theory behind the things" rather than "learn to make the things without worry about what is behind the things" so they (wrongly) think that Arduino is the devil, while "PIC" is God (without to know that the heart of Arduino is a microcontroller like a PIC that can be programmed in asm/C.

You can find tons of documentation about PIC in italian language, but nothing for AVR. PIC is used at school,
at university: they love hurt onself...I smile when I read they still use obsolete 16F84 "because it is simpler"...

@theusch Arduino team seems don't like (don't want?) use the Arduino in unconventional manner. It is a my personal impression (pheraps wrong) received when I submitted the team my idea to use Arduino like dev board to learn asm/C in school/university. My guess is they want Arduino as an unique "eco-system" (hw / sw / shields) the strength of Arduino is its wiring language: hardware is relative and they don't promote the use of other languages than wiring.

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Surely the advantage of the Arduino is its versatility.

1. needs no extra programmer, terminal, ...
2. can be used with ASM, C, Basic, Wiring, ... languages.
3. can be used with Dragon and debugWIRE
4. there are many add-on shields

You can use the Arduino idea hosted by ARM or P*C processors. However most existing "sketches" are designed for the original AVR design. I suspect that many "libraries" have not been ported to these copycat P*C boards.

Depending on your target students, you may start with ASM and end with C, C++, Wiring. Or you start with Wiring and develop from there.

Oh, and my "frank" views on ASM language apply even more to using PIC16 chips. Modern Microch*p MCUs are quite usable with compiled languages.

David.

Last Edited: Thu. Oct 18, 2012 - 05:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

After attending the New York Maker Faire last month I could not disagree with you more. I met with the creator of the Arduino and he enjoys looking at the unconventional. Thats what the arduino is about in some degree. An open source platform for jut about anyone to get involved in electronics and programming.

Define "unconventional". Some of the things I saw built using the arduino(or six in some robots) would be considered unconventional. Something is only unconventional until someone comes along and makes it happen.

Quote:
You can find tons of documentation about PIC in italian language, but nothing for AVR.

Not to sound insulting, but I just opened the datasheet for the 328 in my pdf viewer and clicked on the TOOLS button, and translated the text to italian which was saved as a WORD document. Took 2 minutes. 1 minute if I had an espresso ;)
I changed my google page to translate everything to Italian and lo and behold anything I ask for in AVR's shows up in Italian.

Quote:
My guess is they want Arduino as an unique "eco-system" (hw / sw / shields) the strength of Arduino is its wiring language: hardware is relative and they don't promote the use of other languages than wiring.

Take a look at SmileyMicros arduino workshop book. It is a mix of the arduino wiring and C.. It does not do ASM which I give you that point, but as clearly outlined above you can simply remove the bootloader, and ISP the 328.

The cost of an arduino UNO, and a Dragon here in the states is under $85.00usd. Can Microchip offer an entry level development package that has ISP and In-circuit- debugging for that price that can also support a wide range of microcontrollers?

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Should we call this yet another assembler bashing thread? :roll:

Regardless of anyone's opinion about the merit or otherwise of learning/teaching assembler that's what the OP wants to do.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Should we call this yet another assembler bashing thread? Rolling Eyes

Regardless of anyone's opinion about the merit or otherwise of learning/teaching assembler that's what the OP wants to do.


Not [assembler bashing] by any means. In fact, I applaud starting from the "bottom up".

I've been trying to say that the Arduino route would be both inexpensive, and very flexible.

Also inexpensive are e.g. Olimex dev boards, or Ere, or ... But there is so much more behind the Arduino for the "next step", assembler or otherwise, in the availability of the variety of shields inexpensively prices.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If the course is an electronics course then the students should start from doing their own schematics and PCB, then build their own boards and progress from there.

So they know that milk comes from cows, sheep etc. and not the supermarket.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
If the course is an electronics course then the students should start from doing their own schematics and PCB, then build their own boards and progress from there.

So they know that milk comes from cows, sheep etc. and not the supermarket.

The OP does not mention anything about that nor does any post from the OP thereafter. And FWIW I don't see much ASM bashing considering some other threads on that subject.

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
You can find tons of documentation about PIC in italian language, but nothing for AVR.

How about this Italian Language Forum for the Basic Language, Bascom, for AVRs: Here .

If you want to start a revolution you have to start somewhere! PICs will continue to dominate in Italy unless and until someone is willing to make the change.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DocJC wrote:
If you want to start a revolution you have to start somewhere! PICs will continue to dominate in Italy unless and until someone is willing to make the change

It is a hard battle :)

Here it is a little selection of community/resources about PIC in the Italy:

http://www.settorezero.com

http://www.laurtec.it/italiano/t...

But there is also much ignorance and confusing ideas:

A step-by-step tutorial about PIC:

http://www.electroyou.it/crestus...

So many people mistake Arduino with PIC, seems the term "PIC" here in Italy means "microcontroller".

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It is important to devise a sensible course curriculum. Reading and navigating hardware data sheets. Learning ANY high level language. Designing projects, drawing flowcharts. Implementing standard algorithms. Reading compiler generated ASM code.

I really don't think that it matters which manufacturer's chips you use for any of those topics.

Personally, I think that AVR is a better family for teaching ASM. You have pleasant debugging tools. And choose a family that has a future. e.g. PIC24 or PIC18 instead of PIC16 if you want to use Microch*p.

Choosing your hardware and software is something that may have cultural and geographic considerations.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
It is a hard battle
Then you need help. :-) I'll come over and help you with the battle, just provide me with 2 return airfares, a water view apartment and some spending money.

I can even half speak Napulitanu.. :lol:

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
I can even half speak Napulitanu.. :lol:

uè paisà :D

here it is my little contribute to this battle

I take ispiration frome excellet tutorial of 'abcminiuser'

happy to hear comments about

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Very nice tutorial but you may not get too many comments from the other regulars here. :-)

I love the Italian trasliteration of some of the English words, but I have to read it twice because I get lost switching between perfect Italian (which I no longer speak :( ) and the transliterated words.

So can anyone join your site? I had joined another Italian site a few years ago but it's no longer running. It would help me a bit refreshing the modern language with all the technical words which did not exist 45 years ago.

John Samperi

Ampertronics Pty. Ltd.

https://www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
Very nice tutorial

Thanks a lot :wink:

Italian language isn't ok to describe some contents (electronics, computers etc.) like english is so we prefer always read a book in original language rather than version translated in italian also because reading is easier than writing :D

Several terms can't be traslated: "duty cicle" should be "ciclo di utilizzo" or "clock" should be "orologio" (the object you wear to know the time :D : an italian book of microprocessors (used also at university) translated with "orologio" all the instances of clock...very funny!

Another term you can't translate so easy is "rating" ("classe di lavoro", "classe di funzionamento"...) then so many teachers of electronics prefer to use this term mixing it to italian words :D

Let me know (via PM) everything you would know or you need

P.S. You can join the site through "Google Friend Connect" by clicking the icon "Unisciti a questo sito" on the right side (under the ads)

My (HW && SW) Setup: (MyAVR USB Programmer | bread-board | Butterfly | Arduino 10k | ATtiny2313 | ATmega8) && (WinAVR | AVR asm | AVRstudio)