Hẹn giờ rõ ràng So sánh các vấn đề chế độ trận đấu (CTC)

R

Razu Ahmmed

Guest
Tôi đã phải đối mặt với vấn đề làm việc với CTC trong atmega. Tôi không thể sản xuất gián đoạn sau khi 1 giây bằng cách sử dụng CTC. Tôi quan sát thấy rằng giá trị của OCR1AH không phải là so với với TCNT1H Có thể làm gì? Đề nghị needed.My mã sau đây ........ # Include int a = 0; void Timer1compa_ISR () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB; PORTD = 0xFF;} void main () {int i; DDRB = 0xFF; DDRD = 0xFF; DDRC = 0xFF; SREG_I_bit = 1; TIMSK = (1
 
Bạn đang mất tích / / timer1 so sánh phù hợp với một ISR trên TIMSK = 0x10, tôi cũng không biết lý do tại sao bạn sử dụng TCCR1B | = (1
 
Ở đây tôi có một vấn đề như tôi đang sử dụng mikroC như trình biên dịch, trong đó các mã sau đây là không được chấp nhận .... OCR1A = i; khi tôi khai báo như ...... OCR1AL = i, sau đó nó được chấp nhận nhưng nó chỉ có thể khi (i255 sau đó tôi phải khai báo nó như OCR1AL = Lo (i); OCR1AH = Hi (i), nhưng trong trường hợp này các giá trị OCR1AH không phải là so với giá trị TCNT1H chỉ có giá trị giá trị OCR1L được so sánh như là một kết quả tôi có thể không có thể so sánh một thời gian lớn tôi không thể hiểu thực sự những gì tôi phải làm. Trợ giúp cần thiết ...
 
Tôi cần một mã số bình thường của Timer1 CTC cho atmega trong mikroC. Tôi đã thực hiện một mã đơn giản nhưng tôi không thể hiểu là lỗi của tôi tôi không thể so sánh thời gian khi i> 255. Giúp đỡ cần thiết. # Include int i; inerrupt_ISP void () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB;} square_wave_init void (void) {DDRB = 0xFF; TIMSK | = (1
 

Welcome to EDABoard.com

Sponsor

Back
Top