当前位置:网站首页>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;
}
边栏推荐
- Altium Designer 19.1.18 - 更改铺铜的透明度
- solver. Learning notes of prototxt file parameters
- Mouse click fireworks explosion effect
- Openxlsx field reading problem
- Realization of binary relation of discrete mathematics with C language and its properties
- IEEE access personal contribution experience record
- A series of problems in offline installation of automated test environment (ride)
- "Source code interpretation" famous programmer TJ's only library
- Apple input method optimization
- Altium designer 19.1.18 - change the transparency of copper laying
猜你喜欢

UEFI development learning 5 - simple use of protocol

Ads usage skills

Latex notes

UEFI development learning 3 - create UEFI program

Create inf module in AMI code

How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?

II Simple NSIS installation package

Can't find real-time chat software? Recommend to you what e-commerce enterprises are using!

LED display equipment records of the opening ceremony of the Beijing Winter Olympics

L'étude a révélé que le système de service à la clientèle du commerce électronique transfrontalier a ces cinq fonctions!
随机推荐
Global and Chinese markets for anesthesia, breathing and sleep apnea devices 2022-2028: Research Report on technology, participants, trends, market size and share
Beijing Winter Olympics opening ceremony display equipment record 3
Apple system shortcut key usage
Global and Chinese market of peeled bourdon tubes 2022-2028: Research Report on technology, participants, trends, market size and share
How to migrate the device data accessed by the RTSP of the easycvr platform to easynvr?
数字孪生实际应用案例-风机篇
QT's excellent articles
MySQL - storage engine
Cadence learning records
STM32 learning method
Global and Chinese market of plastic recycling machines 2022-2028: Research Report on technology, participants, trends, market size and share
Detailed explanation of C language pointer
Query the table name used by kettle in Oracle
Distinction between heap and stack
Oracle triggers and packages
Typecho adds Baidu collection (automatic API submission plug-in and crawler protocol)
Could NOT find XXX (missing: XXX_LIBRARY XXX_DIR)
Extended application of single chip microcomputer-06 independent key
Practical application cases of digital Twins - fans
LED display equipment records of the opening ceremony of the Beijing Winter Olympics