các bác cho em hỏi lập trình avr bằng c thì dùng phần mền nào ạ phần mền nào là tốt nhất
Thông báo
Collapse
No announcement yet.
dùng phần mền nào lập trình cho avr tốt nhất?
Collapse
X
-
Các phiên bản codevisionAVR mới gần đây có hiện tượng ko nhận chip trong mạch nạp các loại dù đã xxx mọi cách, có lẽ do nhà sx cố tình làm thế để ép người dùng mua bản quyền, vì thế hiện tại mình lập trình = codevision nhưng nạp code = avrstudio4 là ngon lành, vả lại trong hệ thống thiết lập fusebit của codevision khi mình chọn chip là ATMEGA8 thì ko thấy bit SPIEN, cái bit này cực quan trọng, trong khi đó avrstudio thì có đủ fusebit, cao thủ nào biết vụ này xin giải thích giúp (mình dùng Codevision 2.5.6 để các bác không nói mình dùng bản cũ nên thiếu này nọ).Làm sao mà bạn dám nói là không làm được khi bạn chưa từng thử một lần nào.
Ngay cả khi bạn đã làm 1 lần và thất bại bạn cũng không có quyền nói là không làm được vì bạn chưa làm lần thứ 2,3...
Comment
-
-Mới thì nên học codevison, biết chút đỉ thì chuyển sang AVRstudio với trình biện dịch WinAVR chính hãng luôn,các VD trong hocavr.com đều viết bằng thằng này, nên chiụ khó đọc sẽ rất dễ hiểu...
-Lúc trước mình cũng sài codevision, nhưng làm nhiều cái phức tạp codevison trở thành khó hiểu và khó sửa...
-Codevison dọn sẳng nhiều thứ, nhưng rồi đến một lúc tự nấu tự chế biến thì rất khó khăn..
-còn sài thằng nào là tùy mục đính và khả năng..
Comment
-
mình lâu không còn dùng CV nữa ... nhưng cái này chắc do dùng phần " tự tạo mã " wizard nó mới vậy ... chứ tự viết thì chẳng có gì là thừa cả !Nguyên văn bởi nguyentuanqs Xem bài viếtmình toàn dùng avrstudio. thư viện cho nó thì rất nhiều trên mạng. mà mình thấy nhiều khai báo trong codevision rối và phức tạp. nhiều cái không cần thiết cũng khai báo ra làm mình mò mỗi khi gặp lỗi rất khó chịu.Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
chuẩn rồi đấy ạ.Nguyên văn bởi queduong Xem bài viếtmình lâu không còn dùng CV nữa ... nhưng cái này chắc do dùng phần " tự tạo mã " wizard nó mới vậy ... chứ tự viết thì chẳng có gì là thừa cả !
Comment
-
A [MENTION=45]queduong[/MENTION] ơi, xem hộ em cái này với ạ. em mò mà chưa nghĩ ra lỗi ở đâu . http://www.dientuvietnam.net/forums/...nh-voi-165156/
Nguyên văn bởi nguyentuanqs Xem bài viếtmình đang làm đề tài có liên quan đến tách dữ liệu ( giao thức NMEA trong thông tin vệ tinh sử dụng SIM các bạn nhé). đoạn mã có dạng : $GPGGA,002153.000,3342.6618,N,11751.3858,W,1,10,1. 2,27.0,M,34.2,M,,000 *5E. được truyền liên tiếp qua uart vào vi điều khiển. các đoạn mã có nội dung tương tự cũng được truyền tiếp theo. ví dụ thông tin truyền vào có thể có dạng :....$GPGGA,002153.000,3342.6618,N,11751.3858,W,1, 10,1.2,27.0,M,34.2,M,,000 *5E$GPGGA,5467.000,4578.6618,N,11751.5426,W,2,10,2 .2,12.0,M,376.2,M,,040 *5E.... dạng như vậy. trong đó đoạn đầu có thể thay đổi tùy thuộc vào định dạng dữ liệu. như với đoạn code trên $GPGGA cho biết thông tin sau nó gồm có thời gian, kinh độ, vĩ độ, khoảng cách so với mực nước biển. giờ mình đang loay hoay với thuật toán tách dữ liệu ra. ví như trong dòng dữ liệu vào ta phải bắt được chuỗi có mào đầu là $GPGGA rồi sau đó lại tách ra các dữ liệu đã nói trên. ($GPGGA(mào đầu),002153.000(thời gian),3342.6618,N(vĩ độ),11751.3858,W(kinh độ),1,10,1.2,27.0,M,34.2,M,,000 *5E. dữ liệu tách ra cần cho lưu vào một biến riêng và được truyền đi vào máy tính như sau. pro nào chỉ giáo giúp mình nhé. mình có tham khảo đoạn code sau sử dụng trong 1 ngắt uart nhưng khi viết thì không thực hiện đươc. nếu ai biết sai chỗ nào thì chỉ mình luôn với nhé.
thank mọi người đã đọc!Code:ISR (SIG_USART1_RECV) { data = UDR1; putChar_LCD(data); Uart0_Trans(data); Process_Data(data); } // ham xu ly du lieu ngat void Process_Data(char data) { stt = 0; switch(stt){ case 1: if(data!='$') stt=0; break; case 2: if(data!='G') stt=0; break; case 3: if(data!='P') stt=0; break; case 4: if(data!='G') stt=0; break; case 5: if(data!='G') stt=0; break; case 6: if(data!='A') stt=0; break; case 7: if(data!=',') stt=0; break; //--------tach phan thoi gian------------ case 8: if(data<'0' || data>'9') stt=0; else time[0]=data; break; case 9: if(data<'0' || data>'9') stt=0; else time[1]=data; break; case 10: if(data<'0' || data>'9') stt=0; else time[2]=data; break; case 11: if(data<'0' || data>'9') stt=0; else time[3]=data; break; case 12: if(data<'0' || data>'9') stt=0; else time[4]=data; break; case 13: if(data<'0' || data>'9') stt=0; else time[5]=data; break; case 14: if(data!='.') stt=0; else time[6]=data; break; case 15: if(data<'0' || data>'9') stt=0; else time[7]=data; break; case 16: if(data<'0' || data>'9') stt=0; else time[8]=data; break; case 17: if(data<'0' || data>'9') stt=0; else time[9]=data; break; case 18: if(data!=',') stt=0; break; //----------tach phan vi do----------------- case 19: if(data<'0' || data>'9') stt=0; else vido[0]=data; break; case 20: if(data<'0' || data>'9') stt=0; else vido[1]=data; break; case 21: if(data<'0' || data>'9') stt=0; else vido[2]=data; break; case 22: if(data<'0' || data>'9') stt=0; else vido[3]=data; break; case 23: if(data!='.') stt=0; else vido[4]=data; break; case 24: if(data<'0' || data>'9') stt=0; else vido[5]=data; break; case 25: if(data<'0' || data>'9') stt=0; else vido[6]=data; break; case 26: if(data<0 || data>9) stt=0; else vido[7]=data; break; case 27: if(data<0 || data>9) stt=0; else vido[8]=data; break; case 28: if(data!=',') stt=0; else vido[9]=data; break; case 29: if(data!='N' || data!='S') stt=0; else vido[10]=data; break; case 30: if(data!=',') stt=0; break; //----------tach phan kinh do------------------ case 31: if(data<0 || data>9) stt=0; else kinhdo[0]=data; break; case 32: if(data<0 || data>9) stt=0; else kinhdo[1]=data; break; case 33: if(data<0 || data>9) stt=0; else kinhdo[2]=data; break; case 34: if(data<0 || data>9) stt=0; else kinhdo[3]=data; break; case 35: if(data<0 || data>9)stt=0; else kinhdo[4]=data; break; case 36: if(data!='.') stt=0; else kinhdo[5]=data; break; case 37: if(data<0 || data>9) stt=0; else kinhdo[6]=data; break; case 38: if(data<0 || data>9) stt=0; else kinhdo[7]=data; break; case 39: if(data<0 || data>9) stt=0; else kinhdo[8]=data; break; case 40: if(data<0 || data>9) stt=0; else kinhdo[9]=data; break; case 41: if(data!=',') stt=0; else kinhdo[10]=data; break; case 42: if(data!='E' || data!='W') stt=0; else kinhdo[12]=data; break; case 43: if(data!=',') stt=0; break; default : stt=0; break; } }


Comment
-
mình dùng IAR , CodeVision , AVRstudio+ GCC , mikroC nhưng chẳng thấy cái gì khác biệt hơn thằng mikroC ... thế là mình toàn dùng mikroC ... nhưng nạp thì dùng STK500 sử dụng với AVR studio ( vì bản thân thằng AVR studio set cấu hình ( Fuse) dễ mà chuẩn ! ), những thằng khác loằng ngoằng, khó chịu ( có khi còn vớ vẩn nữa) !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
theo mình bạn nên dùng 1 buffer ( mảng ) đủ chiều dài để lưu trữ bản tin ... rồi xử lý ... là cách đơn giản và dễ dàng nhất !Nguyên văn bởi nguyentuanqs Xem bài viếtA @queduong ơi, xem hộ em cái này với ạ. em mò mà chưa nghĩ ra lỗi ở đâu . http://www.dientuvietnam.net/forums/...nh-voi-165156/
cách đọc cả bản tin ... thì kiểm tra " lúc nào bắt được kí tự " bắt đầu $" thì ( for i = .... đến ...max)... sau khi bản tin đã được lưu vào bộ đệm xong, thì lấy dữ liệu từ bộ đệm ra khai thác thôi ! Khai thác xong lại tiếp tục đọc lượt mới !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
Bài viết mới nhất
Collapse
-
bởi mèomướpDạ chú rủ cô ấy đi ăn uống, cà phê, xem phim...nhớ nắm tay, rồi thì ôm hôn,...trong vòng 1 tuần mà ko nắm tay được, 1 tháng mà ko ôm đc thì dẹp ngay và luôn ạ. Nhắn tin, gọi điện ít thôi ạ, trả lời quá lâu hoặc ko trả lời cũng dẹp ngay ạ. Nên thể hiện chú là người có điều kiện nữa ạ...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 18:50 -
-
bởi songchodep76Cảm ơn bác đã nhiệt thành chia sẻ kinh nghiệm bản thân mình cho mọi người.
Tuy nhiên, theo tiếp xúc hạn hẹp của em với mosfet thì vấn đề bác đo vôn ở cực D và thấy đỉnh nó 70V/55V Vds max, như thí nghiệm và trong hình của bác...-
Channel: Hướng dẫn sử dụng diễn đàn
07-02-2026, 09:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -
mình làm cũng lâu rồi...mình dùng bản 2.3.4 dùng bản cr.ack thôi...có thể search trên mạng được...
Comment