历史上的今天
今天是:2025年06月03日(星期二)
2020年06月03日 | 基于S3C6410裸机程序中可能用到的函数分享
2020-06-03 来源:elecfans
裸机程序中可能用到的文件以及函数
#include“system.h”
/*************************************************************************************************************************
*函数:voidSetEINT_TriggerMode(u8EINT0_N,u8Trigger)
*功能:设置外部中断组0触发模式
*参数:EINT0_N:中断源的编号(见:中断组0编号定义);Trigger:触发模式(EXT_LowLevel:低电平触发;EXT_HighLevel:高电平触发;
EXT_NegEdge:下降沿触发;EXT_PosEdge:上升沿触发;EXT_Edge:边沿触发)
*返回:无
*依赖:底层宏定义
*作者:cp1300@139.com
*时间:20120304
*最后修改时间:20120304
*说明:编号GPN0---》GPN15GPL8---》GPL14GPM0---》GPM4,中断设置必须两个两个一起
*************************************************************************************************************************/

voidSetEINT0_TriggerMode(vu8EINT0_N,vu8Trigger)
{
if(EINT0_N&0x80)//EINT0CON1
{
EINT0_N-=0x80;//减去标记
rEINT0CON1&=~(7《
rEINT0CON1|=Trigger《
}
else//EINT0CON0
{
rEINT0CON0&=~(7《
rEINT0CON0|=Trigger《
}
}
/*************************************************************************************************************************
*函数:voidSet_GateClk(u8HCLK_DIV,FunctionalStateEnable)
*功能:CLK时钟门控设置(HCLK,PCLK,SCLK)
*参数:CLK_DIV:外设(见:CLK门控时钟定义);Enable=ENABLE,1使能;=DISABLE,0失能
*返回:无
*依赖:底层宏定义
*作者:cp1300@139.com
*时间:20120305
*最后修改时间:20121005
*说明:PCLK_GATE添加标识0x40,SCLK_GATE添加标示0x80;
*************************************************************************************************************************/
voidSet_GateClk(vu8CLK_DIV,FuncTIonalStateEnable)
{
vu32*P=&rHCLK_GATE;
if(CLK_DIV&0x80)//SCLK
{
P=&rSCLK_GATE;
CLK_DIV-=0x80;//去掉标示
}
elseif(CLK_DIV&0x40)//PCLK
{
P=&rPCLK_GATE;
CLK_DIV-=0x40;//去掉标示
}
if(Enable==ENABLE)//使能
*P|=1《
else//失能
*P&=~(1《
}
/*************************************************************************************************************************
*函数:voidSet_INTtoIRQ(u8INT_N)
*功能:设置一个中断为IRQ
*参数:INT_N:中断编号(见:中断源编号定义);
*返回:无
*依赖:底层宏定义
*作者:cp1300@139.com
*时间:20120305
*最后修改时间:20120305
*说明:设置一个中断为普通中断模式
*************************************************************************************************************************/
voidSet_INTtoIRQ(vu8INT_N)
{
if(INT_N》31)//VIC1
{
INT_N-=32;
VIC1-》INTSELECT&=~(1《
}
else//VIC0
VIC0-》INTSELECT&=~(1《
}
/*************************************************************************************************************************
*函数:voidSet_INTtoFIQ(u8INT_N)
*功能:设置一个中断为FIQ
*参数:INT_N:中断编号(见:中断源编号定义);
*返回:无
*依赖:底层宏定义
*作者:cp1300@139.com
*时间:20120305
*最后修改时间:20120305
*说明:设置一个中断为快速中断模式
*************************************************************************************************************************/
voidSet_INTtoFIQ(vu8INT_N)
{
if(INT_N》31)//VIC1
{
INT_N-=32;
VIC1-》INTSELECT|=(1《
}
else//VIC0
VIC0-》INTSELECT|=(1《
}
/**********************************************************************************
史海拾趣
|
主要针对高精度测量类的AD. 1:参考电压需要足够精确,推荐使用外部高精准参考电压. 2:如果PGA可调,增益系数一般是越小噪声越低. 3:一般最好用到满量程,此时AD精度不浪费. 4:如果有偏置,需要进行自校. 5:请注意在使用DEMO板调试时,会由调试口导入 ...… 查看全部问答> |
|
一、概述: 移动通讯、消费类数码产品、笔记本电脑、便携仪器等便携设备市场的不断扩张,使得我们对电池的性能和工作寿命的要求不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了 ...… 查看全部问答> |
|
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段。 在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处理阶段,在程序执行 ...… 查看全部问答> |
|
DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。 而且是行列地址复用的,许多都有页模式。 SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据 不会丢失,而且,一般不是行列地址复用的。 SDRAM,同步的DRAM,即数据的 ...… 查看全部问答> |
|
S3c2410中做wince 的SD卡驱动,sd 的主控制器中有个fifo的状态寄存器,但是硬件并没有提供fifo啊,这个fifo是用软件实现的,就是在pRequest的数据结构中定义了一上buffer指针,那么,这个buffer指针是如何能够影响到这个fifo的状态寄存器的呢?请高 ...… 查看全部问答> |
|
本人写AT89S52单片机1602显示程序出现问题,始终找不到症结,向大家请教!先行谢过!!!! #include sbit RS=P3^4; sbit LCDCS=P1^5; #define uchar unsigned char; uchar mydata; uchar command; uchar a; uchar code table[]={\"i love ...… 查看全部问答> |
|
PC机与平台连不上,Windows CE5.0系统运行得非常慢,且系统时间改不了 我现在在使用广州致远电子有限公司的“MagicARM2410教学实验开发平台”来做项目,但近来我碰到了一些问题:就是PC机与平台连不上(步骤与实验书中 一样),而且设备中的Windows CE5.0系统运行得非常慢,且系统时间改不了。但另一 ...… 查看全部问答> |
|
我的Data abort错误如下 Data Abort: Thread=8f9f2400 Proc=8e026d90 \'Radio1.exe\' AKY=00000041 PC=03f96480 RA=03f953a0 BVA=0e380030 FSR=00000007 在网上看到的错误PC值都有偏移量,这个怎么在MAP文件里定位啊?… 查看全部问答> |
|
DWORD SysIntr = SYSINTR_UNDEFINED; /*定义一个逻辑中断*/ 是不是定义了一个DWOR类型的变量SysIntr 值是SYSINTR_UNDEFINED ?????? 再请问 逻辑中断 和中断的区别!! 谢谢… 查看全部问答> |
|
南京瀚之显电子科技有限公司是一家专注于分布式无线传感网及其测控系统核心技术研发与产品应用的高科技企业。瀚之显拥有系列无线传感网核心技术和相关知识产权,包括U-Net网络协议栈、中短距离2.4G/780M无线模块、各类无线数采仪、WSN无线网关单元 ...… 查看全部问答> |




