资源简介
这是我在华清远见嵌入式培训学习时老师给的关于ARM源代码程序 有很高的学习使用价值 希望大家好好利用!!
代码片段和文件信息
#include
#define FCLK 202800000 //202.8MHZ
#define HCLK (202800000/2)
#define PCLK (202800000/4)
#define UART0 0x0 // UART symbol
#define UART1 0x1
#define UART2 0xBB
#define ADC_FREQ 2500000 //2.5MHZ
static const char adsheet[10]={0x300x310x320x330x340x350x360x370x380x39};
volatile unsigned int PreScaler; //与分频器
/*********************************************************************************************
* name: uart_init
* func: initialize uart channel
* para: nMainClk -- input the MCLK value of current system
* nBaud -- input baud rate value for UARTx
* nChannel -- input UART0 UART1 or UART2
* ret: none
* modify:
* comment:
*********************************************************************************************/
void uart_init(int nMainClk int nBaud int nChannel)
{
// int i;
if(nMainClk == 0)
nMainClk = PCLK;
switch (nChannel)
{
case UART0:
UFCON0 = 0x0; //UART channel 0 FIFO control register FIFO disable
UMCON0 = 0x0; //UART chaneel 0 MODEM control register AFC disable
ULCON0 = 0x3; //Line control register : NormalNo parity1 stop8 bits
// [10] [9] [8] [7] [6] [5] [4] [3:2] [1:0]
// Clock Sel Tx Int Rx Int Rx Time Out Rx err Loop-back Send break Transmit Mode Receive Mode
// 0 1 0 0 1 0 0 01 01
// PCLK Level Pulse Disable Generate Normal Normal Interrupt or Polling
UCON0 = 0x245; // Control register
// rUBRDIV0=( (int)(nMainClk/16./nBaud) -1 ); // Baud rate divisior register 0
UBRDIV0=( (int)(nMainClk/16./nBaud+0.5) -1 ); // Baud rate divisior register 0
break;
case UART1:
UFCON1 = 0x0; //UART channel 1 FIFO control register FIFO disable
UMCON1 = 0x0; //UART chaneel 1 MODEM control register AFC disable
ULCON1 = 0x3;
UCON1 = 0x245;
UBRDIV1=( (int)(nMainClk/16./nBaud) -1 );
break;
default:
break;
}
// for(i=0;i<100;i++);
// delay(400);
}
void uart_sendbyte(unsigned char nData)
{
UTXH0 = nData;
while(!(UTRSTAT0 & 0x2));
}
/*********************************************************************************************
* name: uart_sendstring
* func: Send string to uart channel
* para: pString -- input string
* ret: none
* modify:
* comment:
*********************************************************************************************/
void uart_sendstring(char *pString)
{
while(*pString != ‘\0‘)
uart_sendbyte(*pString++);
}
void uart_printf(char *fmt)
{
uart_sendstring(fmt);
}
int main()
{
unsigned int data = 0;
unsigned char bit4bit3bit2bit1;
unsigned int temp = 0;
WTCON = 0; //禁止看门狗 防止reset
CLKDIVN = (1<<1) | 1; //设置 1:2:4
MPLLCON = (0xa1<<12) | (0x3<<4
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 21340 2011-11-07 17:30 example\adc\adc.axf
文件 4262 2011-11-08 11:51 example\adc\adc.c
文件 13530 2011-11-07 17:30 example\adc\adc.crf
文件 56 2011-11-07 17:30 example\adc\adc.d
文件 14406 2011-11-07 17:30 example\adc\adc.hex
文件 26156 2011-11-07 17:30 example\adc\adc.htm
文件 239 2011-11-07 17:30 example\adc\adc.lnp
文件 61394 2011-11-07 17:30 example\adc\adc.map
文件 31040 2011-11-07 17:30 example\adc\adc.o
文件 537 2011-04-23 16:51 example\adc\adc.sct
文件 864 2011-11-07 17:30 example\adc\adc.tra
....... 135098 2011-11-09 15:45 example\adc\adc.uvgui.Administrator
....... 135099 2011-11-08 11:51 example\adc\adc.uvgui_Administrator.bak
....... 7293 2011-11-09 15:45 example\adc\adc.uvopt
....... 14432 2011-11-07 17:30 example\adc\adc.uvproj
文件 471 2011-11-09 20:14 example\adc\adc_Target 1.dep
....... 7289 2011-11-08 11:51 example\adc\adc_uvopt.bak
....... 14432 2011-09-16 10:52 example\adc\adc_uvproj.bak
文件 24 2011-11-07 17:30 example\adc\S3C2410A.d
文件 129623 2011-11-07 17:30 example\adc\S3C2410A.lst
文件 3512 2011-11-07 17:30 example\adc\S3C2410A.o
文件 52190 2011-09-27 13:47 example\adc\S3C2410A.s
文件 19568 2011-11-08 16:14 example\button-int\button-int.axf
文件 12471 2011-11-08 16:14 example\button-int\button-int.hex
文件 23819 2011-11-08 16:14 example\button-int\button-int.htm
文件 260 2011-11-08 16:14 example\button-int\button-int.lnp
文件 55436 2011-11-08 16:14 example\button-int\button-int.map
文件 199 2011-11-08 21:40 example\button-int\button-int.plg
文件 537 2011-04-23 15:49 example\button-int\button-int.sct
文件 920 2011-11-08 16:14 example\button-int\button-int.tra
............此处省略314个文件信息
相关资源
- Linux Device Drivers Development Develop custo
- tiny4412上移植linux4.4支持设备树的最终
- NXP的LPC系列ARM的程序
- 嵌入式linux操作系统原理与应用
- rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COE
- Just For Fun中文版
- linux设备驱动中断之上半部和下半部
- cacti_linux_安装包分卷5(cacti-0.8.7b-cn
- bouml for linux 64
- 精通嵌入式Linux编程—构造自己的GU
- 《ARM Linux嵌入式网络控制系统》书中
- vi_and_vim_editors_pocket_reference_second_edi
- SELinux by Example Using Security Enhanced Lin
- libXL-3.7.2.0_Linux_Incl_Keygen_20170402.7z
- Linux网络编程-网络基础-socket编程-高并
- ADB工具win+mac+linux.zip
- 用TCP/socket实现windows与linux通信文件传
- Linux那些事儿(全)
- 操作系统原理实验报告+源代码哲学家
- linux文件系统设计
- 深入理解linux设备树dts
- 这是libpcap的使用程序和文档
- Linux man命令汉化
- GBA游戏软件的ADS1.2工程模板
- 温室大棚数据采集系统源代码
- IAR For ARM 7.8破解版 注册机
- NVIDIA_Tegra_Linux_Driver_Package_TX2_-32.1 Re
- SUSE Linux Enterprise Server 15 安装手册
- openstack 高可用部署方案
- uboot移植 史上最牛,最清楚的移植
评论
共有 条评论