일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 라온익스
- Swipes
- 온도센서
- 네모안
- 린나이온도조절기
- 경동
- evernote
- EditText
- 에버노트
- __attribute__
- react-native
- 기름보일러
- npm moment
- xcode11
- debounce
- todoist
- 가스요금폭탄
- ReactNative
- Node
- 난방비절약
- IOT
- Raspberry Pi
- 온도조절기
- REACT
- 가스비절약
- node.js
- rasppi3
- nodejs
- 나비엔
- anydo
- Today
- Total
목록개발/AVR (6)
어허
여기저기 겁나게 널려있는 코드지만 일단 내코드 빽업용 datasheet에 자세하게 잘 나와 있으니 그거 가지고 공부 할 것! GPIO로 직접 클락 만들고 데이터 쏘던 32bit SPI만 쓰다가 칩 내부 모듈 사용은 처음 *_* 오 ~ 됨 신기방기 신통방통 GPIO로 제어할 때 보다 속도도 훨씬 빠르고 코드도 뭐 ,,,, 나름 api 쪽 코드가 없으니 간편해 진것 같고 나쁘진 않은데 왠지 정이 안간다 ;; 다음 숙제는 GPIO로 UART api 만들기 ! 물론, 이건 EP021A로 ㅇ ㅏ내코드 뭔가 더러워 #define SPI8_SS(Bit0) #define SPI8_SCK(Bit1) #define SPI8_MOSI(Bit2) #define SPI8_MISO(Bit3) /*******************..
1. Fuses에 EESAVE에 체크한 뒤 Program 2. #include 3. 사용. #include "avr/eeprom.h" void eeprom_test() { volatile unsigned char buf[] = "aaccbbddeegg"; int i = 0; volatile unsigned char c; unsigned int buf_len = 0; buf_len = sizeof(buf); for(i = 0; i < buf_len; i++){ // EEPROM에 write 하는 부분, 그 다음 컴파일때 빼고 아래쪽 리드만 하면 읽히는걸 확인 할 수 있다. eeprom_write_byte((uint8_t *)i, buf[i]); } for(i = 0; i < buf_len; i++){ c ..
avrstdio 4.x를 썼다가 atmega128을 다시 사용한다고 해서 개발환경 준비중에 atmel studio 6가 새로 나왔길래 깔아봤다 visual studio 10과 손잡은듯 ? 아무튼, 컴파일등은 잘 되나 기존에 가지고 있던 programmer인 USBJTAG v3.0 (avrmall 구입) 로는 프로그램이 안되는것 같다. http://www.avrmall.com/ishop/board_view.php?data=idx%3D176371%26pagecnt%3D0%26letter_no%3D1373%26offset%3D0%26search%3D%26searchstring%3D%26present_num%3D1370&boardIndex=18 여기 대답처럼 새로나온 디버거를 사면 될지도 .... 결론 : 그냥..
flash는 128k ram은 4k 20k 가 넘는 배열 header 파일을 인클루드 하려고 했더니 램이 작단다 !! 허허 ~ 그래서 검색 ㄱㄱ PROGMEM 이용, 자세한내용은 pdf 파일 참조 할 것 winavr , avr studio 사용하는데 tutorial 대로 하니까 문제 없이 사용 가능하다 ! // 배열 선언부 uint32_t fw[] PROGMEM = { 0,1,2,3,4,5,6 }; // 사용하기 uint32_t tmp = 0; tmp = pgm_read_dword(&fw[count]);
static int TxChar(char data); static char RxChar(void); int TxChar(char data) { while(!(UCSR0A & (1
>>> CodeVision AVR 의 경우 ex ) sfrb PORTB = 0xf;//라고 되어있으면 PORTB.0 = 1; PORTB.3 = 0; // 이런식으로 비트단위의 접근이 가능하다 ! 물론, PORTB = 0x01; // 이렇게 해서 0000 0001 로 함으로서 PORTB0을 1로 설정할 수도 있지만 이럴경우 나머지가 전부 0으로 되어버리기 때문에 1개씩 접근이 필요하였다 ! 두둥 오늘의 교훈, "검색도 실력이다" 팀장님은 검색마저 기가맥힌다 ;; >>> AVR studio의 경우 (WinAVR gcc 사용) PORTB |= 0x01 // PORTB.0 만 1로 변경 PORTB &= ~0x01 // PORTB.0 만 0으로 변경 Codevision avr이 코드작성면에서는 더 쉽다. AVR ..