Page 307 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 307
delay(100);
LCD (line4,"","");
while (1)
{
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_RESET)
{
Delay(500000);
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_RESET)
{
if(v==0)
USART1Write((u8*)"#",sizeof("#"));
//취소 조건이 만족하였을 때 USART1번에 ‘#’을 전송
v=1;
}
}
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET)
{
Delay(500000);
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_SET)
{
v=0;
}
}
}
}
//스위치를 눌렀다가 떼었을 때 작동하도록 while문을 구성하였다.
//외부 스위치는 GPIOC의 13번 핀을 사용하였다. 스위치는 외부 풀업저항을 //사용하였다.
2. USART.c
취소버튼이 눌러져 라즈베리 파이에 ‘#’을 전송하면 라즈베리 파이는 arm프로세서에 ‘a’를 전
송하게 소스를 만들었고(뒷 부분의 라즈베리파이용 c소스 참고) USART1번을 통해 ‘a’를 수신
받을 경우 전에 태그했던 상품이 취소되고 총 가격 합계에서 줄어들게 소스를 만들었다. 상세
설명은 주석문에 기술한다.
#include "stm32f10x.h"
#include "USART.h"
#include "GLCD.h"
#include "interrupt.h"
#include <stdio.h>
- 300 -