当前位置:网站首页>Improve lighting C program
Improve lighting C program
2022-07-05 07:52:00 【Soy sauce;】
explain : The watchdog timer will reset the whole system automatically , Used to update bug, Systematic self-protection mechanism
** explain :
commonly CON Is the control input and output
DAT Control the specific register control pin
So just find the corresponding one
Development manuals are important , To be able to search
Cycle lighting procedure
The method of zeroing and setting one can be the same as before to set the desired bit or and
But it's too long to write , This kind of shift is generally used
void delay(volatile int d)
{
while (d--);
}
int main(void)
{
volatile unsigned int *pGPFCON = (volatile unsigned int *)0x56000050;
// Join in volatile The system will handle it properly , Will not automatically optimize
volatile unsigned int *pGPFDAT = (volatile unsigned int *)0x56000054;
int val = 0; /* val: 0b000, 0b111 */
int tmp;
/* Set up GPFCON Give Way GPF4/5/6 Configured as output pin */
*pGPFCON &= ~((3<<8) | (3<<10) | (3<<12));
// Zero clearing
*pGPFCON |= ((1<<8) | (1<<10) | (1<<12));
// Configuration register
/* Cycle on */
while (1)
{
tmp = ~val;
tmp &= 7;
*pGPFDAT &= ~(7<<4);
*pGPFDAT |= (tmp<<4);
delay(100000);
val++;
if (val == 8)
val =0;
}
return 0;
}
In addition, the latter uses to define registers as macros , The effect is the same, don't write
Key led Program
#include "s3c2440_soc.h"
// Write the function definition here , You don't have to configure registers all the time
void delay(volatile int d)
{
while (d--);
}
int main(void)
{
int val1, val2;
/* Set up GPFCON Give Way GPF4/5/6 Configured as output pin */
GPFCON &= ~((3<<8) | (3<<10) | (3<<12));
GPFCON |= ((1<<8) | (1<<10) | (1<<12));
// Reset first and then set one
/* To configure 3 Key pins are input pins : * GPF0(S2),GPF2(S3),GPG3(S4) */
GPFCON &= ~((3<<0) | (3<<4)); /* gpf0,2 */
GPGCON &= ~((3<<6)); /* gpg3 */
// Directly clear all
/* Cycle on */
while (1)
{
val1 = GPFDAT;
val2 = GPGDAT;
if (val1 & (1<<0)) /* s2 --> gpf6 */
{
/* Release */
GPFDAT |= (1<<6);
}
else
{
/* Press down */
GPFDAT &= ~(1<<6);
}
if (val1 & (1<<2)) /* s3 --> gpf5 */
{
/* Release */
GPFDAT |= (1<<5);
}
else
{
/* Press down */
GPFDAT &= ~(1<<5);
}
if (val2 & (1<<3)) /* s4 --> gpf4 */
{
/* Release */
GPFDAT |= (1<<4);
}
else
{
/* Press down */
GPFDAT &= ~(1<<4);
}
}
return 0;
}
边栏推荐
- Numpy——1. Creation of array
- Realization of binary relation of discrete mathematics with C language and its properties
- 万字详解八大排序 必读(代码+动图演示)
- SQL JOINS
- MySQL - storage engine
- From then on, I understand convolutional neural network (CNN)
- The research found that the cross-border e-commerce customer service system has these five functions!
- MySql——存储引擎
- Altium Designer 19.1.18 - 导入板框
- 如何进行导电滑环选型
猜你喜欢
P3D gauge size problem
[neo4j] common operations of neo4j cypher and py2neo
From then on, I understand convolutional neural network (CNN)
Screen record of the opening ceremony of the Beijing winter olympics 2
MySql——存储引擎
Logistic regression: the most basic neural network
Openxlsx field reading problem
Altium Designer 19.1.18 - 更改铺铜的透明度
[untitled] record the visual shock of the Winter Olympics and the introduction of the display screen
Butterfly theme beautification - Page frosted glass effect
随机推荐
MySQL blind note common functions
Global and Chinese market of quenching furnaces 2022-2028: Research Report on technology, participants, trends, market size and share
RF ride side door processing of prompt box
Apple modify system shortcut key
Day09 how to create packages import package naming conventions Alibaba Development Manual
Global and Chinese markets of large aperture scintillators 2022-2028: Research Report on technology, participants, trends, market size and share
Apple system optimization
How to realize audit trail in particle counter software
Nombre - 1. Création de tableaux
The printer encountered an abnormal configuration problem 0x8007007e (win10)
Opendrive record
导电滑环磨损快的原因
cygwin
PIL's image tool image reduction and splicing.
Temperature sensor DS18B20 principle, with STM32 routine code
Numpy——1. Creation of array
Acwing-宠物小精灵之收服-(多维01背包+正序倒序+两种形式dp求答案)
Record the torch encountered by win10 cuda. is_ False problem in available()
Apple script
How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?