Atmega328P Datasheet 14. PM - Power Management and Sleep Modes

  • 59 Replies
  • 6529 Views
*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #16 on: December 01, 2017, 08:51:43 am »
ขอบคุณครับ คุณ ROM ที่แนะนำ เดี๋ยวจะลองศึกษาดูครับ ผมคนรุ่นเก่าใช้อะไรใหม่ๆไม่ค่อยเป็น โลกแคบไปหน่อย เดี๋ยวจะลองหัดใช้ดูครับ  >:(

*

Offline ROM

  • ***
  • 167
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #17 on: December 01, 2017, 11:34:03 am »
ขอบคุณครับ คุณ ROM ที่แนะนำ เดี๋ยวจะลองศึกษาดูครับ ผมคนรุ่นเก่าใช้อะไรใหม่ๆไม่ค่อยเป็น โลกแคบไปหน่อย เดี๋ยวจะลองหัดใช้ดูครับ  >:(

เพิ่งเริ่มหัดใช้ git อยู่เหมือนกันครับ แต่เห็นว่าน่าจะมีประโยชน์ดี
ตอนนี้ก็เริ่มต้นศึกษาจากตรงนี้  http://www.select2web.com/git/git-1.html แต่ก็ยังไม่คล่องเท่าไหร่ครับ
( ถ้าใจร้อนก็ไปตอนที่ 7 เลยก็ได้ http://www.select2web.com/git/git-7.html )
เลยอยากแนะนำท่าน tha มาใช้ด้วยกันไปเลย เห็นท่านเขียน Code เจ๋งๆอยู่
น่าจะเป็นอีกเรื่องที่น่าสนุกนะครับ

*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #18 on: December 01, 2017, 12:40:07 pm »
เดี๋ยวจะลองศึกษาดูครับ ตอนนี้ลอง บอร์ด atmega328p ทำ adc 3 channel ดู ไม่ใช้ interrupt ก็ทำงานได้ครับ

http://www.mediafire.com/file/768tfodccmzs10r/adc_usart4.rar

*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #19 on: December 01, 2017, 02:31:47 pm »
ทำ adc 3 channel แบบใช้ interrupt  ต้องใช้วิธีเซท flag a, b ถึงจะทำงานได้ นอกหัวข้อไปเยอะเลย adc ยังไม่ได้แปลเลย หาซื้อหนังสือมาอ่านเอานะครับ

http://www.mediafire.com/file/fmopnld36u1vuo1/adc_usart5.rar

*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #20 on: December 01, 2017, 02:39:13 pm »
เอาตัวแปร a, b ขึ้นก่อน สตาร์ทการแปลงจะแน่นอนกว่าหรือป่าว พรายกระซิบบอกมาอีกแล้ว  ;)
 
Quote
  a = ch;
  b = 1;
  // start single convertion
  // write ’1' to ADSC
  ADCSRA |= (1<<ADSC);
 

*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #21 on: December 02, 2017, 07:37:51 am »
ผิดอีกจุด ใน interrupt routine ไม่ต้องเช็ค interrupt flag แล้ว เพราะมันถูกเคลียร์โดย hardware เมื่อเข้า interrupt ผมไม่ได้ดู data sheet ผมก็นึกว่ามันจะเหมือน stm32 โปรแกรมจุดนี้มันก็ผิดด้วยถึงผ่านได้ แก้ใขด้วยครับ เร่งๆก็เป็นอย่างนี้มีผิดพลาดเยอะ


ดีบักลอยๆ ก็ได้ไม่ต้องต่อไมโครคอนโทรลเลอร์ ถ้า compile มีไฟล์ .elf แล้ว
เริ่ม start debug -> set break point -> run ดูบิท ADIF ก็ไม่ติดเป็น "1" ครับ


*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #22 on: December 03, 2017, 01:01:08 pm »
อยู่ว่างๆก็ทำโปรแกรมเล่นไป ลองจัดโปรแกรมให้เป็นระเบียบ พยายามทำโปรแกรมย่อย ให้ส่วน main เรียกใช้โปรแกรมย่อยมากๆ ทำให้ code size ลดลง ก็ ok
Quote
// UART Buffer
char uart_buf[32];    
ต้องเพิ่ม uart_buf[] จาก 16 เป็น 32 ไม่งั้น ADC0 ขึ้นไม่ตรงและค้าง คงจะเป็นจาก uart_buf กำหนด size ไว้น้อยเกินไป ไม่พอเก็บอักขระที่ยาว
http://www.mediafire.com/file/yq28clqcod4wzzj/adc_usart6.rar

*

Offline tha

  • *****
  • 968
    • View Profile
Re: Atmega328P Datasheet 14. PM - Power Management and Sleep Modes
« Reply #23 on: December 04, 2017, 02:10:13 pm »
Quote
เพิ่งเริ่มหัดใช้ git อยู่เหมือนกันครับ แต่เห็นว่าน่าจะมีประโยชน์ดี
ตอนนี้ก็เริ่มต้นศึกษาจากตรงนี้  http://www.select2web.com/git/git-1.html แต่ก็ยังไม่คล่องเท่าไหร่ครับ
( ถ้าใจร้อนก็ไปตอนที่ 7 เลยก็ได้ http://www.select2web.com/git/git-7.html )
เลยอยากแนะนำท่าน tha มาใช้ด้วยกันไปเลย เห็นท่านเขียน Code เจ๋งๆอยู่
น่าจะเป็นอีกเรื่องที่น่าสนุกนะครับ

มันลงตามนี้ใช่หรือเปล่าคุณ ROM http://www.select2web.com/git/git-4.html หรือเป็นตัวอื่นสำหรับ windows 7 32bit ผมอัฟไฟล์ยังไม่ได้เลย แต่ฝั่งเว็ปเป็นแบบนี้ https://github.com/thamanoon/adc_usart6 ถูกต้องใหม อัฟโหลดยังไม่ได้ครับ