Practice more and More

Keil uVision5 사용시

Cannot load flash device description.

Error : Flash Download failed - "Cortex-M0"

오류시 세팅 방법.

 

Programming Algorithm 에 등록이 되어 있어야 가능. Add 버튼 클릭.

 

Flash load 누르면 정상적으로 동작하는것 확인가능.

 

[AVR] DC_motor 제어

AVR&ARM2016. 5. 26. 11:49

DC모터를 타이머에 있는 PWM기능을 이용하여 제어.

 

관련 레지스터

 

TCCR1A, TCCR1B, TCCR1C, TCNT1, OCR1A, OCR1B, OCR1C

 

8bit Fast PWM을 분주비 256으로 예시로 해보면,

 

1.TCCR1A

 

 

TCCR1A 7,6번 비트의 경우 시작 파형을 선택해주는 부분인데, 10 이면 High로 시작해서 Low로 11이면 Low로 시작해서 High로 바뀌게 된다.

Waveform Generation Mode WGM1, WGM0는 TCCR1B에 있는 WGM3과 WGM 2와 같이 보면 편하다.

 

 

2. TCCR1B

 

 

TCCR1B 의 경우 WGM으로 모드 설정해주고, 분주비를 설정하는 부분이 있다.

256으로 분주할 경우 하위 3비트에 100으로 해주면 된다.

 

3. TCNT1

타이머 시간을 조정시 사용하는데 PWM 사용시에는 0으로 두고 사용가능.

 

4. OCR1A

듀티비를 조정할 수 있는 부분. 시작부터 진행되어 OCR1A값에 도달하면 값을 반전 시켜줌.

 

 

요약

Fast PWM 8bit / 256분주로 이용시

 

TCCR1A= 0x81;

TCCR1B= 0x0C;

TCNT1=0;

OCR1A=0;          //원하는  PWM 듀티비 8bit 사용중이라서 0~255까지 값 넣어주어야함.

 

테이블은 atmega128 메뉴얼 참조.

int vel=0;

 

if(vel<=50)  PORTD=~0b11111111;

 

 

여기에서 warning: large interger implicitly truncated to unsigned type  오류가 발생.

 

 

2진수로되어 있는 부분 앞에 (unsigned char)로 해주면 됨.

 

if(vel<=50)  PORTD=(unsigned char)~0b11111111;

 

이런식으로 하면 warning 사라지는 것을 확인.

 

'AVR&ARM' 카테고리의 다른 글

STLINK 오류 cannot load flash device description  (0) 2017.04.14
[AVR] DC_motor 제어  (1) 2016.05.26
avr 처음 사용시 Fuse 설정  (0) 2016.05.13
이진수 MSB, LSB 역순으로 만들기 함수  (0) 2016.05.11
[AVR studio] warning "F_CPU~"  (0) 2016.04.20

Avr studio 에서 처음 Avr을 연결하여 사용할 경우 Fuse를 설정하여 주어야한다.

 

 

AVR 아이콘 클릭하여 창을 띄운다.

또는 Tools - Program avr - auto connect 를 클릭해도 된다.

 

 

Main 탭에서 Device and Signature Bytes에서 ATmega128로 설정하고

Read signature 클릭.

 

 

좌측에 읽어들인 값이 생긴다면 연결이 된것으로 확인할 수 있고 다음 으로 넘어가면 된다.

안될경우 연결이나 땜질에 문제가 있는지 한번더 확인해본다.

 

 

Fuses탭에서 SPIEN 만 체크하고 나머지는 체크를 풀어준다.

SUT_CKSEL 에서 사용할 클럭을 적어줌

: 사용클럭이 내부인지 외부인지, 각 주파수 확인해서 설정.

0ms 4ms 64ms는 리셋 되는 시간. 느릴수록 시스템에 안정적.

16Mhz 크리스탈을 사용하여 이번에는 맨 아래 설정.

 

 

 

간단 요약

1. Main탭에서 읽기 가능한지 확인.             
2. Fuses 탭에서 SPIEN 만 체크 나머지는 해제

3. SUT_CKSEL 에서 사용 주파수 설정.           
4. Program 클릭 완료.                              

void reverse(unsigned char data)
{
 unsigned char tmp=0;


 
 // 데이터 뒤집어 주는 부분.
 for(char i=0; i<8;i++)
 {

  tmp|=(data&0x01)<<(7-i);        // 0x01 비트 부터 비교해서 넣어줌.
 
  data>>=1;                            // 데이터를 옮겨서 다음비트 비교할 수 있도록 해줌.
 
 } 
 

 
 data = tmp;
}

#warning "F_CPU not defined for <util/delay.h>" [Wcpp]

 

이때

 

메뉴에서 Project- Configuration option 에서

 

 

 

 

 

 

avr 클럭을 넣어주면 오류 사라짐.

(16Mhz라서 16000000을 넣어주었음.)

void lcd_gotoxy(char x, char y)  //커서 이동
{
 lcd_cmd_write( 0x80|(0x40 * y) + x); 

}

 

error

 

suggest parentheses around arithmetic in operand of '|' [-Wparentheses]

 

라는 오류가 나올때 수식을 좀 더 명확 하게 만들어주면 Warning이 사라짐.

 

void lcd_gotoxy(char x, char y)  //커서 이동
{
 lcd_cmd_write( 0x80|((0x40 * y) + x)); 

}

 

위 수식 처럼 명확하게 해주면 완료.

급하게 통장 사본이 필요할때 스캐너가 없을때 사용할 수 있는 방법입니다.

 

 

국민은행 : 뱅킹관리 - 제증명발급 -계좌개설확인서

기업은행 : 개인인터넷뱅킹 - 부가서비스 - 통장출력서비스

농협 : 제증명발급 - 통장사본출력

동양증권 : MY 자산 - 계좌조회 - 계좌확인서 출력

대구은행 : 인터넷뱅킹 - 종합정보관리 - 통장사본 출력

우리은행 : 계좌번호 - 계좌상세조회 - 통장표지출력

외환은행 : 예금- 부가서비스 - 통장사본출력

산업은행 : 예금/신탁 - 예금개설내역조회 - 통장사본출력

신한은행 : 계좌정보 - 통장사본출력

씨티은행 : 인터넷뱅킹- 조회 - 계좌원장조회 - 통장사본 인쇄

하나은행 : 계좌번호 - 계좌정보 - 통장사본출력

SC은행(스탠다드차타드) : 부가서비스 - 증명서발급 - 통장표제부출력

 

 

통장사본대신 인쇄하여 사용이 가능하다고 하네요.

루머 내용.

 

[ 교통카드의 비밀 알고 계신가요? ]

"잔액이 부족합니다"
교통 카드의 비밀. 현금을 내지 마세요.

@모르시는 분들이 있을 것 같아 퍼온글을 전합니다.

어느날 아침에 버스를 타고 가는데 어떤분이 타시는데 하루에 한번씩은 들어서 익숙한 "잔액이 부족합니다" 라는 음성이 들리더군요. 그런데 그 여자분은 당당하게 그냥 자리에 앉더라고요. 그러자 기사가 그 여자분에 게 요금을 내라고 말을 했으나 그 여자분은 음악을 듣고 있어 못 알아 들었는지?... 그러자 그 기사는 무시당한 기분인지 화가난 표정으로 운전석에서 나와 그 여자분의 자리로 와서 "돈을 내야할거 아니냐"고 하니까 그제서야 이어폰을 빼더니 어처구니가 없다는 듯이 "왜 돈을 내냐"고 하더군 요.
그 여자도 화를 내며 "아저씨 아시잖아요?"
"잔액이 부족하다고 나오지 않았어요?" "그렇게 나오면 다음번 충전할 때 돈 빠지는거 모르세요?" 라며 따지는 겁니다. 그러자 성난 곰같던 기사는 어느새 순한 양이 되어 자리로 돌아 가더군요. 기사의 태도로 보아 여자분의 말이 맞다는 생각이 들어 집에와서 알아보니 작년 5월 기사에
나와 있더군 요. 교통카드 마일리지-마이너스제도 시행한다고...

버스탑승시 '잔액이 부족합니다.'가 나오더라도 마이너스 승차가 됩니다.

즉 '잔액이 부족합니다.'가 나올 경우 현금을 추가로 내시면 안됩 니다.

마이너스 승차후 금액 충전시 다음 승차할 때 이전 요금까지 함께 부과됩니다.

아직 모르는 친구들에게 이소식 알리세요.

국민들이 알아야 할 이런 소식들은 제대로 홍보도 하지 않고 진짜 황당해요

몰랐으면 공유들 하세요 피해없으시기바래요
돈은 버스회사에서 공짜로먹고 승객은 이중으로 요금을내는격입니다...

 

 

라는 글이 돌고 있는데요. 루머라는 사실...

 

교통카드 마일리지 마이너스 제도는 2006년에 한국스마트카드(티머니 운용사)에서 5년동안 서울에서 반짝 시행한 제도입니다. 

티머니 마이너스 카드로 따로 구입한 사람만이 이용할 수 있고, 1회에 한해 승차를 허용하고 다음에 충전할때 부족액이 차감되는 제도 였습니다. 이때 단 1천장 정도만 팔렸다고 하네요.

그 카드를 소유하고 계신 분은 아직 사용 가능하지만 재생산 계획은 없다고 합니다.

 

위 루머처럼 실제로 이용한다면 무임승차로 30배 벌금을 맞을 수 있겠네요..

 

SNS 좋기도 하지만 정보를 잘 판단해서 사용해야겠네요.

 

가끔 한글문서로 이력서를 쓰다보면

 

표안에 갇혀서 표가 다음 장으로 넘어가지 않고 화면 아래로 사라지는 경우가 생기죠

 

이럴땐 대략 난감.. ㅠ

 

간단하게 해결이 가능합니다~

 

 

위 사진처럼 표가 아래로 길어지기만하면서 다음페이지로 넘어가지 않을때 간단하게 해결하는 방법입니다.

 

1. 우선 표에서 오른쪽 클릭하여 메뉴를 열고 개체속성 클릭합니다.

 

 

 

2. 여러 탭중에서 표 로 가서 네모친 나눔을 클릭. 하면 끝!

 

 

 

 

간단하게 클리어!!

 

혹시 아래그림처럼 해제가 안되게 회색칸이 나올경우,

 

 

기본텝으로가서 글자처럼 취급 해제 하고 다시 클릭할수 있도록!

 

 

 

 

 

 

이력서쓰다가 짜증내지 않고 다시 열심히 작성하는 일만 남았네요!!

 

다들 좋은 일들 가득하시길!!