반응형

CGV영화관람권이 있었지만... 코로나 2년이라는 엄청 긴 시간덕에 내 관람권이 만료가 되었다...!

에잇 지났네 하고 꾸겨서 버렸는데 어디선가 연장 가능하다는 소릴 듣고 신청을 해보았다.

 

매우 간단하다.

그러나 엄청~~ 오래 걸린다. 

평일 월~금 에만 된다.

 

1. 1544 - 1122 (CGV대표 번호) 에 전화를 건다.

반응형

 

2. 번호키 4번 - 4번 - 0번 누른다.  (만료된 상품권 연장 상담원 연결 바로)

 

3. 전화를 받을 때까지 인내하고 기다린다 (필자는 15분 기다림)

 

4. 티켓의 뒷자리 T~ 로 시작하는 것을 알려준다.

5. 기다리면 다시 전화와서 연장되었다고 한다.

 

 

( 1년정도 연장됨)

 

반응형
반응형

Windows에서 hostname을 본인 PC의 네트워크 도메인과 동일하게 사용한다.

예를들어 내 PC 아이피가 192.168.0.22 이고 hostname이 Tom 이면, 192.168.0.22 = Tom 으로 맵핑이 가능하다.

 

아주 간단하게 확인하는 방법은 아래 참고

https://ansan-survivor.tistory.com/554

 

[Windows] 내 PC의 호스트명(hostname) 빠르게 확인하기

hostname은 IP주소를 대신해서 사용할 수 있는 대표적인 이름이다. 즉 ipconfig로 나오는 나의 ip주소를 hostname으로 대체할 수 있다. 간단히 확인하는방법. 1. Win키+ S , cmd 입력 2. 명령어에 "hostname"입..

ansan-survivor.tistory.com

 

이 호스트네임을 빠르게 변경 가능하다.

 

1. Win키 +  S 후 "환경" 입력 후, "시스템환경변수 편집" 실행

위는 영문 버전.

 

2. 컴퓨터 이름 - (아래) 변경

반응형

 

3. 변경할 이름 작성

4. 재부팅

 

그러면 변경된 네트워크도메인 이름 hostname(호스트네임)이 적용된다.

 

 

 

반응형
반응형

별거 아니지만 삽질할 수 있는 요소이다...

필자는 Atmel Studio 7을 사용하면서 정말 별거 아닌데 작동하지 않아 고생을 했다.

 

 

void 으로 함수를 만들 때, input 인자에 void를 넣지않고 비워두면 컴파일이 제대로 작동하지 않는다...

반응형

 

아래와 같이 이런식으로 함수를 작성하면, 작동을 하지 않았다..

혹시나 Atmel Studio 7으로 코드를 만드는데 함수가 동작하지 않으면 이점 유의하도록 한다.

 

 

반응형
반응형

Atmega128에서 지원하는 외부인터럽트중 RESET 다음으로 가장 우선순위가 높은 인터럽트가 있다.

바로 외부인터럽트이다. 그 순위로는 INT0 ~ INT7까지이다.

RESET보다는 우선순위가 낮지만, 그 외 타이머 인터럽트보다는 높다.

더 자세한 인터럽트 순위에 관해 궁금하다면 아래 참고.

https://ansan-survivor.tistory.com/1221

 

[Atmega 128] 아트메가 128 인터럽트 벡터 표 (interrupt vector table)

아트메가128에 인터럽트 기능을 사용하기 전에 아트메가의 인터럽트 벡터 테이블을 알아야 한다. 인터럽트란? 아래 참고. https://ansan-survivor.tistory.com/1220 MCU의 인터럽트(Interrupt) vs 폴링(Polling)..

ansan-survivor.tistory.com

 

이제 이 외부인터럽트에 스위치를 달아서 동작을 시켜본다.

사용할 PCB는 직접제작한 아래 PCB이다. (Atmega128과 최소한의 동작기능만 장착)

https://ansan-survivor.tistory.com/1144

 

[PCB제작] OrCAD로 설계한 데이터를 JLCPCB를 통해 SMT 주문하기 ! (설계부터 PCB 주문 생산 까지)

PCB제조업체는 중국에 홍콩 업체 JLCPCB를 이용했다. 이번에는 한번 SMT를 이용해서 기계 납땜을 이용해보았다. Atmega128을 이용해서 최소한의 구동과 ISP를 통해 다운로드가 가능하도록 만든 회로이

ansan-survivor.tistory.com

 

반응형

 

먼저 외부인터럽트를 사용하기전에 아래 항목의 레지스터를 알아야 한다.

 - SREG

 - EMISK

 - EICRA

 - EICRB

 

 

< SREG 레지스터 >

 - 외부인터럽트가 발생하려면 무조건 7번 비트가 1으로 Set되어야 한다.

 - 그래서 보통 코드 마지막에 SREG |= 0x80; 으로 자주 사용

 

 

 

< EMISK 레지스터 >

 - INT0 부터 INT7 까지 사용할 외부인터럽트를 Set하면 된다.

 - 여기 예제에서는 INT7 과 INT6을 사용함으로 1100 0000 (=0xC0) 으로 Set하면 됨.

 

 

< EICRA, EICRB 레지스터 >

 - 외부인터럽트 INT0 ~ INT3 을 사용할 때 트리거방식 설정

 - 외부인터럽트 INT4 ~ INT7 을 사용할 때 트리거방식 설정

 - 2개 비트 마다 각각 INTn의 기능 설정

 - EICRA는 INT0 ~ INT3 의 동작 방식을 정할 수 있음

 - EICRB는 INT7 ~ INT4 의 동작 방식을 정할 수 있음

 

 

 

* PE0 출력포트 설정, LED장착 (저항 생략)

* PE6, PE7 스위치 입력포트 설정, 내부 Pull-up 모드 설정 (DDRn을 입력 설정 후 PORTn을 Set하면 내부 Pullup 사용)

예제 코드)

PE6과 PE7의 외부 인터럽트가 들어오면 (스위치의 하강 엣찌) LED가 토글

EICRB = 0xA0; 넣은 이유, INT6과 INT7을 하강엣지로 사용

#include <avr/io.h>
#include <avr/interrupt.h>


// 외부인터럽스6 (INT6레지스터) 서비스 루틴
// 인터럽트가 들어오면 동작
ISR(INT6_vect)
{
	PORTE &= 0xFE;  // 0b11111110   PE0번 비트가 클리어되고 (clear = 0)
}

// 외부인터럽스7 (INT7레지스터) 서비스 루틴
ISR(INT7_vect)
{
	PORTE |= 0x01;  // 0b00000001   PE0번 비트가 셋됨(set = 1)
}

int main(void)
{
	// 0x00111111 으로 PE6, PE7을 입력세팅,  나머지 PE0 ~ PE5 출력 세팅
	DDRE = 0x3F;
	// PE6, PE7을 Pull-up으로 하기위해 AND마스크 (DDRn을 입력설정 후 PORTn을 Set하면 내부 Pullup 사용)
	PORTE &= 0xC0;
	
	
	// 사용할 외부인터럽트 bit를 Set해줌. INT6, INT7 사용하므로 0b11000000 으로 세팅
	EIMSK = 0xC0; // INT6, 7 Interrupt Enable
	
	
	// 인터럽트 동작 방식 설정
	EICRA = 0x00;
	EICRB = 0xA0; // INT6, 7 Falling Edge에 동작 [1010 0000]
	
	
	// 인터럽트 발생시 필요, 7번 bit를 Set해주어야 함
	SREG |= 0x80; // Global Interrupt Enable

	while(1){
		
	}

	return 0;
}

 

 

 

 

 

 

 

 

 

 

반응형
반응형

구조체 및 구조체 배열에 관해서는 아래 참고.

https://ansan-survivor.tistory.com/1333

 

[C언어] 구조체(struct)에 배열을 선언하여 사용 방법, 선언과 동시에 초기화

앞서 구조체에 대한 설명이 있다. https://ansan-survivor.tistory.com/1331 [C언어] 구조체(struct) 에 대해서, C언어 구조체란? 구조체 사용방법, 구조체 선언과 동시에 초기화 구조체(struct)란?  - 여러 자료..

ansan-survivor.tistory.com

 

위 구조체를 포인터 형태로 접근하는 방법이다.

 

pos의 자료형은 struct point 이므로 포인터 변수 pptr의 타입도 struct point * 으로 선언했다. 그리고 포인터이므로 pos 구조체의 주소를 넣어주었다.

// 구조체 선언 및 초기화
struct point pos = {11, 12};

// 구조체 인스턴스 pos의 주소를 가리키는 포인터 선언
struct point * pptr = &pos;

 

포인터 변수 선언한 pptr은 아래와 같이 이용한다. 해당 구조체에 값을 넣기 위해

*pptr 으로 구조체에 접근, 연산자 . 마침표를 이용해 구조체 내부의 값 xpos, ypos에 접근하는 방식이다.

(*pptr).xpos = 10;
(*pptr).ypos = 20;

하지만 위 연산자를 아래와 같이 대체할 수 있다. (빨간색 부분을 보면 된다)

(*pptr).xpos  ==  pptr->xpos

pptr->xpos = 10;
pptr->ypos = 20;

 

반응형

 

사용 예제

#include <stdio.h>

struct point
{
	int xpos;
	int ypos;
};

int main()
{
	// 구조체 선언과 동시에 초기화 (2개의 인스턴스 pos1, pos2)
	struct point pos1 = { 1, 2 };
	struct point pos2 = { 100, 200 };

	// pos1인스턴스를 가리키는 포인터 변수 선언
	struct point * pptr = &pos1;

	// pptr이 pos1을 가리키니, pos1으로 접근함
	(*pptr).xpos += 4;
	(*pptr).ypos += 5;
	printf("[%d %d] \n", pptr->xpos, pptr->ypos);


	return 0;
}

해당 주소에 접근해서 더해짐

반응형
반응형

CentOS에 MariaDB를 설치하는 방법은 아래 참고

https://ansan-survivor.tistory.com/1185

 

[CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 설치하기, MySQL 계정 생성 암호 설정

MariaDB를 새로 설치할때, 기존의 것과 충돌 방지를 위해 삭제명령을 한번 해주면 좋다. 삭제 방법은 아래 참고. https://ansan-survivor.tistory.com/1184 [CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 제거하기..

ansan-survivor.tistory.com

 

그리고나서 루트계정에 암호를 부여하는 방법이다.

 

1. 루트 패스워드 변경

/usr/bin/mysqladmin -u root password

 

2. 루트 접속

mysql -u root -p

    패스워드 입력하면 접속 됨.

 

3. 새로운 계정 생성, 아이디와 패스워드를 생성.

 * wordpress-user : 내가 원하는 ID , your_strong_password : 내 패스워드 입력

CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';

 * 위에서 만든 wordpress-user 입력. 

CREATE DATABASE `wordpress-db`;
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
FLUSH PRIVILEGES;

exit

 

 

 

 

( 외부 접속으로 root 계정 접속 허용을 하려면 아래 참고)

https://ansan-survivor.tistory.com/1336

 

[MySQL / MariaDB] 외부에서 root 접속 허용하기 (Linux CentOS 기준)

(MariaDB 설치 방법은 아래 참고) https://ansan-survivor.tistory.com/1185 [CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 설치하기, MySQL 계정 생성 암호 설정 MariaDB를 새로 설치할때, 기존의 것과 충돌 방지..

ansan-survivor.tistory.com

 

반응형
반응형

 

MariaDB를 설치하고 start로 실행시켜로 하는데, 아래와 같은 에러가 발생했다.

[admin@localhost lib]$ sudo systemctl start mariadb.service


Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

 

그래서 위 메세지가 시킨대로 다시 아래와 같이 명령을 썼더니 결국 Fail 이고, 아래와 같은 메세지가 나타났다.

[admin@localhost lib]$ sudo systemctl status mariadb.service

 

 mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2022-03-04 15:28:08 KST; 10s ago
  Process: 4606 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=1/FAILURE)

Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: Please check all of the above before submitting a bug report
Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: at http://mariadb.org/jira
Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: Initialization of MariaDB database failed.
Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: Perhaps @sysconfdir@/my.cnf is misconfigured or there is some problem with permissions of /var/lib/mysql.
Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: Initialization of MariaDB database was not finished successfully.
Mar 04 15:28:08 localhost.localdomain mariadb-prepare-db-dir[4606]: Files created so far will be removed.
Mar 04 15:28:08 localhost.localdomain systemd[1]: mariadb.service: control process exited, code=exited status=1
Mar 04 15:28:08 localhost.localdomain systemd[1]: Failed to start MariaDB database server.
Mar 04 15:28:08 localhost.localdomain systemd[1]: Unit mariadb.service entered failed state.
Mar 04 15:28:08 localhost.localdomain systemd[1]: mariadb.service failed.

 

 

반응형

 

위 상황 해결방법.

 

먼저 원인을 찾아보니 설치가 잘못된 경우라고 한다.

https://bobcares.com/blog/mariadb-failed-to-start/

따라서 아래 과정을 따라하면 해결 된다.

 

 

1. MariaDB 완전 깔끔하게 제거, 라이브러리 모두 제거

https://ansan-survivor.tistory.com/1339

 

[CentOS 7 / MariaDB / MySQL] 리눅스에서 MariaDB 완전하게 제거하기

$ sudo apt-get purge mariadb-server 1. Mariadb 설치 제거 $ yum remove -y mariadb mariadb-server 2. Mariadb에 사용되었던 각종 찌꺼기 파일 제거 $ rm -rf /var/lib/mysql $ rm /etc/my.cnf 3. mariadb가..

ansan-survivor.tistory.com

 

2. MariaDB 재설치

https://ansan-survivor.tistory.com/1185

 

[CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 설치하기, MySQL 계정 생성 암호 설정

MariaDB를 새로 설치할때, 기존의 것과 충돌 방지를 위해 삭제명령을 한번 해주면 좋다. 삭제 방법은 아래 참고. https://ansan-survivor.tistory.com/1184 [CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 제거하기..

ansan-survivor.tistory.com

 

 

3. 그리고 다시 Start 하고, Status로 상태를 확인해보면 되는것을 볼 수 있다!

sudo systemctl start mariadb
sudo systemctl status mariadb

 

 

 

반응형
반응형

<Ubuntu / Debian 계열>

 $ sudo apt-get purge mariadb-server

 

 

반응형

 

<RedHat / CentOS 계열>

 

1. Mariadb 설치 제거

$ yum remove -y mariadb mariadb-server

 

 

2. Mariadb에 사용되었던 각종 찌꺼기 파일 제거

$ rm -rf /var/lib/mysql
$ rm /etc/my.cnf

 

 

3. mariadb가 사용했던 모든 로그까지 제거 (옵션)

 ( - root 계정에서 실시해야 한다.)

$ su

# rm /var/log/mariadb/mariadb.log.rpmsave

# rm -rf /usr/lib64/mysql/
# rm -rf /usr/share/mysql/

 

4. MariaDB관련 설치된 라이브러리도 모두 제거

https://ansan-survivor.tistory.com/1184

 

[CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 제거하기

CentOS를 설치하면 MariaDB가 설치되어있는데, 최신 버전으로 업그레이드 하기 위해서 가끔 삭제하기도 한다. 아래 명령어로 삭제한다. 1. sudo 명령으로 mariadb 라이브러리 제거 명령 sudo yum -y remove mar

ansan-survivor.tistory.com

 

 

 

(그리고 나서 다시 설치하려면 아래 참고)

https://ansan-survivor.tistory.com/1185

 

[CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 설치하기, MySQL 계정 생성 암호 설정

MariaDB를 새로 설치할때, 기존의 것과 충돌 방지를 위해 삭제명령을 한번 해주면 좋다. 삭제 방법은 아래 참고. https://ansan-survivor.tistory.com/1184 [CentOS 7] 리눅스 Maria DB(마리아DB), MySQL 제거하기..

ansan-survivor.tistory.com

 

 

 

 

참고: https://www.codegrepper.com/code-examples/shell/how+to+completely+remove+mariadb+from+centos+7 

 

how to completely remove mariadb from centos 7 Code Example

$ sudo apt-get purge mariadb-server

www.codegrepper.com

 

반응형
1···20212223242526···181

+ Recent posts