AVR32 noob

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

I've finally decided to get with the times and switch to a 32 bit controller. :-)
I've used ATMEGA and ATTINY controllers with CVAVR for the past 10 or so years and I'm fairly comfortable with them. Now using the new 32 bit processors with Atmel Studio 6 seems like there is going to be a big learning curve. I'm sure it is going to be easier than it seems at the time. But, WOW!!!

Is there something I can read that will make the switch a little less painful? I've done soooo may google searches and I'm getting even more confused... I'm so used to the way the registers in a 8 bit processor works and it seems the 32 bit processors are an entirely different animal.

Thanks for any help you can provide.

CB

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

I've the same problem. Only Atmel datasheets, notes etc.
Amazon has only one book in Russian language, but author uses AVRStudio32.

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

Thanks, but I'm an English only person. :-)

I think I have this licked but I'm having a a couple problems with data types in the PWM Library.

I've looked at all the documentation for PWM4 and I've looked at a few examples. I'm still a little stuck when it comes to the avr32_pwm_channel_t struct data types.

The examples I have seen use

avr32_pwm_channel_t pwm_channel = { .ccnt = 0 };

Straight forward...
.....

I can not find documentation for the other members

pwm_init(&pwm_opt);

pwm_channel.CMR.calg = PWM_MODE_LEFT_ALIGNED;
pwm_channel.CMR.cpol = PWM_POLARITY_LOW;
pwm_channel.CMR.cpd = PWM_UPDATE_DUTY;
pwm_channel.cdty = 5;
pwm_channel.cprd = 20;
pwm_channel.cupd = 0; [b][i]

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

Your best option is to stick to the datasheet and whatever you can find already discussed in the AVR32 forums here at avrfreaks.net - there is a bucket load of info. There is not much documentation else where besides the application notes provided by Atmel. Yes, this is a "huge" learning, self-educating exercise. The Russian "textbook" is essentially the datasheet. It can be found in pdf form on the inter-webs if you look long (very very long) and hard enough. Then there is the tiresome task of translating it, only to find that all the vital points for the AVR32 are discussed in the datasheets. All that aside, it took me (Honours Electronics student) roughly 3-6 months of head banging, knuckle biting and just plain playing/coding with it. In that time I achieved most of my goals for the final research project. Good luck and remember as my supervisor once said, "If you can control an LED, you can control the world" 8)

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

I once had a professor that kept telling us "You can't push a rope...." lol
This whole AVR32 thing is starting to make sense to me. I have never been one to use an eval board. I'd rather make my own board and learn the whole nitty gritty of a processor and that is what I'm doing here. I have found generating code for an eval board and comparing it mine has been a big help with how the pin functions are changed, registers manipulated, etc. are done with AtmelStudio 6.

I'm still having issues with the way some of the examples I've seen will re #DEFINE constants are #DEFINEd as another.

#define PWM0_PIN AVR32_PWM_0_0_PIN

why not just use the original?!?!?!

Any how, thanks for your input. I cant believe it took me this long to get with the times and move to 32 bits, true floating point calculations, Ethernet and USB all on chip! These things are AWESOME!!

I should have it licked after some of the same head banging of my own. lol