คำถามติดแท็ก avr

AVR เป็นแกนไมโครคอนโทรลเลอร์ขนาด 8- และ 32 บิตที่พัฒนาโดย Atmel AVR ได้รับเลือกให้เป็นไมโครคอนโทรลเลอร์สำหรับ Arduino SBC ยอดนิยม

8
คำแนะนำสำหรับตัวเชื่อมต่อขนาดเล็กและสะดวกสำหรับการเขียนโปรแกรมในวงจร?
ฉันมี PCB จำนวนมากที่ใช้ AVR ในบรรจุภัณฑ์ SMD และเนื่องจากฉันเปลี่ยนเฟิร์มแวร์ในบอร์ดต้นแบบบ่อยๆฉันจึงพยายามหาทางออกที่ดีที่สุดในการเขียนโปรแกรม AVR อย่างรวดเร็วและง่ายดาย วิธีแรกคือการมีส่วนหัวมาตรฐาน (2x5 พิน, .1 ") บนกระดาน แต่เนื่องจากขนาดใหญ่ (สำหรับขนาดของบอร์ดที่ฉันติดต่อด้วย) ฉันเริ่มมีรูสัมผัสที่ไม่มีการบัดกรี ส่วนหัวและงอหมุดของส่วนหัวด้วยคีมดังนั้นฉันสามารถ "ถ่าย" เข้าและออกจากบอร์ดไม่ใช่ทางออกที่ดีที่สุด แต่ใช้งานได้ ขั้นตอนต่อไปคือการใช้นิ้วทอง (เช่นขอบด้านหนึ่งของบอร์ดจะมีการสัมผัสบางอย่างเช่นบอร์ด ISA เก่า แต่มีเพียงไม่กี่รายติดต่อ) ปัญหาก็คือค่าใช้จ่ายของคณะกรรมการเพิ่มขึ้นและยังคงใช้ "อสังหาริมทรัพย์" เป็นจำนวนมาก มีข้อเสนอแนะใด ๆ สำหรับทางเลือกที่สะอาดและราคาถูก เป็นการดีโดยไม่ต้องประสานอะไรบนกระดาน (เช่นนิ้วทอง) ฉันกำลังคิดถึงผู้ติดต่อขนาดเล็กเพียงบางคนบนกระดานและอาจเป็นสองรูที่เรียงกันถ้ามีตัวเชื่อมต่อที่เหมาะสมและอยู่ในที่ที่เหมาะสมขณะทำการเขียนโปรแกรม BTW แม้ว่าตัวเชื่อมต่อมาตรฐานจะมี 10 พิน แต่ต้องการเพียง 6 ตัวเท่านั้น
21 pcb  avr  connector 

5
ATMega8: ทำไมต้องเชื่อมต่อ VCC และ AVCC
ฉันมักจะอ่านว่าเป็นวิธีปฏิบัติที่ดีในการเชื่อมต่อ VCC กับ AVCC แม้ในแผ่นข้อมูล ATMega8 มันบอกว่า: AVCC เป็นแหล่งจ่ายแรงดันพินสำหรับตัวแปลง A / D, พอร์ต C (3..0) และ ADC (7..6) ควรเชื่อมต่อกับ VCC ภายนอกแม้ว่าจะไม่ได้ใช้ ADC หากใช้ ADC จะต้องเชื่อมต่อกับ VCC ผ่านตัวกรองสัญญาณความถี่ต่ำ โปรดทราบว่าพอร์ต C (5..4) ใช้แรงดันไฟฟ้าดิจิตอล VCC แต่ไม่มีที่ไหนที่ฉันสามารถหาคำอธิบายว่าทำไมพวกเขาต้องเชื่อมต่อ วงจรง่าย ๆ สำหรับการกะพริบไฟ LED ทำงานโดยไม่ต้องเชื่อมต่อ VCC และ AVCC ฉันต้องยอมรับมันหรือมีเหตุผลที่ดีหรือไม่?
20 avr  atmega  basic 

4
ผลึกและความจุโหลด
หากคริสตัลมีค่าความจุโหลดสูงสุดที่ 6 pF เป็นสิ่งที่ถูกต้องหรือไม่ที่จะนำตัวเก็บประจุ 6 pF ไปยัง GND บนขาของคริสตัล ฉันใช้มันเป็นแหล่งสัญญาณนาฬิกา (TOSC) สำหรับ XMEGA และมันมี ESR สูงสุด 50 kOhm (ซึ่งอยู่ในคำแนะนำ)

5
ฉันจะอ่านอินพุตดิจิตอลบน ATmega16 ได้อย่างไร
ฉันจะทำอะไรต้องทำเพื่ออ่านสัญญาณแบบดิจิตอล (ปุ่มกด) บนATmega16 ? ฉันต้องเปิดใช้งานตัวต้านทานแบบ pullup หรือฉันสามารถใช้ 10 kohm ได้หรือไม่ รหัสง่ายๆอะไรจะเป็นอย่างไร เพียงแค่ 'เปิดไฟ LED เมื่อมันกด' มีแบบฝึกหัดสำหรับผู้เริ่มต้นไหม ฉันได้ลองใช้ googling และAVR Freaksแล้ว แต่ทุกสิ่งก็พัฒนาไปสู่การต่อสู้ที่นั่นและฉันก็ไม่ได้รับคำตอบ ฉันไม่พบบทเรียนเกี่ยวกับสิ่งนี้จริงๆ มีสิ่งต่าง ๆ มากมาย แต่ไม่มีอะไรง่าย ๆ เกี่ยวกับไมโครคอนโทรลเลอร์AVRของฉัน...
18 avr  atmega 

9
WiFi ในอุดมคติไปยังบริดจ์ (หรือ SPI)
มีคำแนะนำอะไรบ้างใน WiFi ที่เหมาะกับบริดจ์แบบอนุกรม? คุณสมบัติในอุดมคติของฉันจะเป็น: เชื่อมต่อง่าย SPI หรืออนุกรม ความเร็วที่เหมาะสมพอสมควรอย่างน้อย 1mbit / วินาทีในอุดมคติ (แม้ว่าอาจไม่จำเป็นต้องใช้ความเร็วสูงเสมอไป) ราคาไม่แพงฉันคิดต่ำกว่า $ 50 พลังงานต่ำ - ควรใช้ที่ 100mA มากที่สุดถ้าเราสามารถทำให้มันลดลงได้เช่น 20 หรือ 30ma ยิ่งดีกว่า สแต็คโปรโตคอลในตัว - ฉันต้องการให้จัดการกับโปรโตคอล WiFi พร้อมกับ DHCP, TCP / IP, DNS, ฯลฯ ดังนั้นสิ่งที่ฉันต้องทำคือบอกสิ่งที่ IP / พอร์ตเชื่อมต่อแล้วจัดการ ข้อมูลตัวเอง ถ้าเป็นไปได้ I / O ที่ทนต่อ 5V ... เพื่อให้ง่ายต่อการเชื่อมต่อกับไมโครคอนโทรลเลอร์โรงเรียนเก่าของเรา จนถึงตอนนี้ฉันได้พบ: Matchport …
18 serial  avr  pic  wifi  wireless 

6
ใช้ ATMega328 กับ oscillator ภายในหรือไม่
ฉันมีโครงการที่ฉันคิดว่าเหมาะสมที่สุดสำหรับ ATMega328P อย่างไรก็ตามในทุก ๆ โครงการที่ฉันเคยเห็นผู้คนมักจะเชื่อมต่อกับออสซิลเลเตอร์ภายนอก 16MHz จากสิ่งที่ฉันเห็นมันควรมีออสซิลเลเตอร์ภายใน 8MHz โครงการของฉันไม่ต้องการพลังการประมวลผลจำนวนมากและเวลาไม่จำเป็นต้องแม่นยำมาก (นอกเหนือจาก UART และ I2C) ฉันมีโปรแกรมเมอร์ด้วยดังนั้นฉันไม่ต้องกังวลกับ bootloaders มีเหตุผลใดที่ฉันจะใช้ออสซิลเลเตอร์ภายนอก?
18 avr  atmega  oscillator  clock 

3
ใช้ AVR Watchdog เหมือน ISR ปกติ
ฉันพยายามล้อมหัวนาฬิกาจับเวลาในซีรีย์ ATTinyX5 ดังนั้นสิ่งที่ฉันได้อ่านทำให้ดูเหมือนว่าคุณสามารถใช้มันเพื่อทำให้โปรแกรมทำสิ่งที่เฉพาะเจาะจงตลอดเวลา N วินาที แต่ไม่เคยแสดงให้เห็นว่าจริงๆ คนอื่นทำให้ดูเหมือนว่ามันจะรีเซ็ตชิปเท่านั้นเว้นแต่บางสิ่งบางอย่างในการรีเซ็ตรหัสจะถูกนับในเวลาเดียวกัน (ซึ่งดูเหมือนจะเป็นการใช้ "ปกติ") มีวิธีการใช้ WDT เหมือนที่คุณต้องการ TIMER1_COMPA_vect หรือคล้ายกัน ฉันสังเกตเห็นว่ามันมีโหมดไทม์เอาต์ 1 วินาทีและฉันชอบที่จะใช้มันเพื่อทำให้บางสิ่งเกิดขึ้นทุก ๆ 1 วินาทีในโค้ดของฉัน (และควรนอนในระหว่างนั้น) คิด? * ปรับปรุง: *เนื่องจากมันถูกถามว่าสิ่งที่ผมหมายถึงคือส่วน 8.4 ของATTinyX5 แผ่นข้อมูล ไม่ใช่ว่าฉันเข้าใจอย่างถ่องแท้ซึ่งเป็นปัญหาของฉัน ...
17 avr  attiny  watchdog 

1
AVR 1.1V ADC อ้างอิงแรงดันเกิน
ถ้าฉันใช้การอ้างอิง 1.1V ภายในสำหรับ ADC และอินพุตแบบอะนาล็อกของฉันเกิน 1.1V ให้บอกว่า 2.5V นั่นเป็นอันตรายต่อไมโครคอนโทรลเลอร์หรือไม่ หรือค่า ADC จะเพียงแค่คลิป (ถึง 0x3FF) ที่ 1.1V เพื่อความสะดวกฉันกำลังรวมไดอะแกรมบล็อกข้อความที่ตัดตอนมาจากแผ่นข้อมูล ATMega328

3
จาก C ถึง Assembly
สมมติว่าเรามีโค้ด C ต่อไปนี้สำหรับ avr-8bit: int v1=1; int v2=2; v2=v2+v1; ฉันคาดว่าถอดแยกชิ้นส่วนต่อไปนี้ ldi r18, 1; ldi r19, 2; add r19, r18; แต่หลังจากที่ฉันวิ่ง: avr-gcc -mmcu=atmega2560 Test.c -o Test.elf และ avr-objdump -S Test.elf > Test.lss ฉันได้ถอดแยกชิ้นส่วนต่อไปนี้ ldi r24, 0x01 ; 1 ldi r25, 0x00 ; 0 std Y+2, r25 ; 0x02 std Y+1, r24 …
16 avr  c  assembly 

4
เป็นไปได้ไหมที่จะใช้โปรแกรมเมอร์ AVR ISP ในการเขียนโปรแกรมชิป PIC?
ฉันต้องการลองเขียนโปรแกรมชิป PIC และเพิ่งเห็นว่ามันแตกต่างกันมากเมื่อเทียบกับ AVR ฉันมีAVRtinyISPและอยากจะรู้ว่ามันจะเป็นไปได้ไหมที่จะใช้ชิพ PIC นี้? สิ่งใดที่จะ จำกัด ฉันจากการทำเช่นนั้น? ทั้งชิป AVR และ PIC ในปัจจุบันมีอินเทอร์เฟซ ICSP สำหรับการอัปโหลดโปรแกรมและใช้ pinouts ที่ใช้งานร่วมกันได้สำหรับการเขียนโปรแกรม (PIC ที่ใช้เพื่อต้องการแรงดันไฟฟ้าที่สูงกว่าในการเขียนโปรแกรม แต่ชิปที่ใหม่กว่านั้น ดังนั้นคำถามของฉันคือ: เป็นไปได้ไหมที่จะตั้งโปรแกรมชิป PIC กับโปรแกรมเมอร์ AVR ISP จากระยะไกลเช่น AVRtinyISP หรือ AVR ISP MkII ? มีใครเคยลองไหม? ถ้ามันเป็นไปไม่ได้หรือยากเกินไปแล้วอะไรคือข้อ จำกัด - มันเป็นโปรโตคอลที่ใช้พินไม่ตรงกันว่าแรงดันไฟฟ้า / การจัดอันดับปัจจุบันอะไรอย่างอื่น? เป็นไปได้ไหมที่จะทำเช่นนั้นในทางกลับกันเช่นใช้ PICKit clone เพื่อเขียนโปรแกรมชิป AVR? อะไรคือการดัดแปลงที่จำเป็นในการทำสิ่งที่เป็นไปได้ทั้งหมด?
16 avr  pic  programmer  isp  pickit 

2
ทำไมพิน VCC / GND ของ ATtiny26 จึงไม่ถูกจัดตำแหน่ง?
ในไดอะแกรม pinout ต่อไปนี้สำหรับไมโครคอนโทรลเลอร์ ATtiny26 ซึ่งเป็นไอซี 20 พิน: หมุด VCC / AVCC และ GND ไม่ได้รับการจัดตำแหน่ง แน่นอนว่ามันจะง่ายกว่าสำหรับการออกแบบ PCB ในการเชื่อมต่อสิ่งเหล่านี้โดยไปทางตรงข้ามแทนที่จะต้องข้าม ทำไมพินเหล่านี้ถึงถูกเปลี่ยนเป็นอย่างนั้น?
15 avr  routing  pinout 

2
ปกป้อง AVR แฟลชจากการอ่านผ่าน ISP?
ฉันพยายามป้องกันทั้งแฟลชจากการอ่านผ่าน ISP มันมี bootloader สามารถโปรแกรมส่วนตนเอง การตั้งค่าล็อคไบต์เป็น: LB1/LB2 จะไม่อนุญาตให้ผู้ใช้ใช้ bootloader เพื่ออัปโหลดเฟิร์มแวร์ใหม่ BLB12/BLB11และBLB01&BLB02จะไม่ป้องกันการอ่านแฟลชผ่าน ISP หากฉันไม่ผิด ดังนั้นจึงไม่มีวิธีให้ผู้ใช้อัปเดตเฟิร์มแวร์โดย bootloader ที่กำหนดเองและป้องกันแฟลชจากการอ่านในเวลาเดียวกันได้หรือไม่
15 avr  atmega  protection 

2
ค่าตัวต้านทานและตัวเก็บประจุที่ใช้สำหรับแยกขาตั้งค่า AVR ใหม่มีค่าเท่าใด?
พื้นหลัง... ฉันเป็นมือใหม่สำหรับแอพพลิเคชั่น AVR ฉันเพิ่งสร้างวงจรที่ใช้ ATTINY13 สองตัว (ไฟกระพริบ LED ที่ได้รับเกียรติ) ซึ่งทำงานอย่างถูกต้อง (อย่างอิสระ) บนเขียงหั่นขนม เมื่อฉันรวมพวกเขาเข้ากับบอร์ดบัดกรีประสานกับแหล่งจ่ายไฟที่ใช้ร่วมกันสิ่งต่าง ๆ ก็ยุ่งเหยิงไปหมด หลังจากการสอบสวนมากปรากฏว่าพวกเขากำลังรีเซ็ตอย่างต่อเนื่อง ฉันเหลือ pin 1 (รีเซ็ต) ของ micro แต่ละตัวที่ไม่ได้เชื่อมต่อ ฉันค้นคว้าวิธีที่เหมาะสมในการจัดการพินการรีเซ็ตและจากการดำเนินการดังต่อไปนี้ เพิ่มตัวเก็บประจุอิเล็กโทรไลต์ 100uF ควบคู่กับแหล่งจ่ายไฟเพื่อช่วยในการดึงกระแสไฟฟ้าที่อาจเกิดขึ้น เพิ่มตัวต้านทาน 4.7K จากVCCเป็นRESET เพิ่มตัวเก็บประจุเซรามิก 0.1uF จากGNDเป็นRESET ขั้นตอนเหล่านี้สามารถแก้ไขปัญหาได้อย่างสมบูรณ์ คำถาม: หน้าที่ฉันลิงก์ด้านบนคือการให้คำแนะนำเมื่อใช้ ISP (ในการเขียนโปรแกรมในระบบ) ซึ่งฉันยังไม่ได้ทำ (ฉันกำลังเขียนโปรแกรมไมโครสโคปแยกต่างหากโดยไม่มีส่วนประกอบอื่นเชื่อมต่ออยู่) ฉันเห็นค่าตัวเก็บประจุที่แตกต่างกันหลายค่า (10nF, 0.1uF และอื่น ๆ ) และตัวต้านทาน (4.7K, 10K ฯลฯ …
15 avr  isolation  reset 

1
V-USB จะขันสกรู SPI ในตัวของ ATmega328p ได้อย่างไร
ฉันกำลังทำงานในโครงการ V-USB ที่แสดงเป็นแป้นพิมพ์โดยใช้ ATmega328p ส่วน USB ใช้งานได้ดี (ไม่ใช่โครงการ V-USB ครั้งแรกของฉัน) แต่หลังจากที่ฉันเริ่มต้น V-USB สแต็กด้วยการusbInit()โทรไปยังไลบรารีการ์ด SD ทั้งหมดล้มเหลว ถ้าฉันเรียกฟังก์ชั่นเดิมมาก่อนusbInit()ทุกอย่างจะทำงานได้อย่างสมบูรณ์ ฉันใช้ Arduino โคลนที่เรียกว่า Diavolino แต่ไม่มีโครงร่าง Arduino / เดินสาย ฉันมี USB ที่เชื่อมต่อกับ I / O ดิจิตอล 2 และ 3 และการ์ด SD ถึง 10-13 (สาย SPI ในตัว) ฉันดูในห้องสมุดการ์ด SD และพบว่าไม่มีสัญญาณของมันโดยใช้การขัดจังหวะหรือการลงทะเบียนใด ๆ นอกเหนือSPxxจาก ฉันยังgrepต้องใช้รหัส V-USB ด้วยซ้ำ แต่มันไม่ได้แตะที่SPxxรีจิสเตอร์ …
14 avr  atmega  spi  usb-device  sd 

3
โปรโมชั่น C Integer บน MCU 8 บิต
การใช้ avr-gcc เป็นตัวอย่างจะระบุชนิด int ให้มีความกว้าง 16 บิต การดำเนินการกับตัวถูกดำเนินการ 8 บิตใน C ส่งผลให้ตัวถูกดำเนินการถูกแปลงเป็นชนิด int 16 บิตเนื่องจากการส่งเสริมจำนวนเต็มใน C นี่หมายความว่าการดำเนินการทางคณิตศาสตร์ 8 บิตทั้งหมดบน AVR จะใช้เวลานานกว่านี้หากเขียนใน C มากกว่า ถ้าเขียนในการชุมนุมเนื่องจากการส่งเสริมจำนวนเต็มของ C?
14 microcontroller  avr  c 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.