芯唐M0的库用着怎么这么别扭!
用习惯了stm32的库,现在用芯唐M0库,有些别扭,不知nxp M0的库如何?先用库函数配置了时钟:
UNLOCKREG();//解锁寄存器
SYSCLK->PWRCON.XTL12M_EN = 1;//使能外部12M晶振
/* Waiting for 12M Xtal stalble */
SysTimerDelay(5000);
/* Configure PLL clock */
DrvSYS_Open(12000, 50000); //配置倍频时钟
/* Get PLL clock frequency */
u32data = DrvSYS_GetPLLClock(); //读取倍频时钟
再初始化节拍定时器作为时基
void SysTimerInit(uint32_t us){
SysTick->LOAD = us * 50;
SysTick->VAL =(0x00);
SysTick->CTRL = (1 << SYSTICK_CLKSOURCE) | (1<<SYSTICK_ENABLE) | (1<<SYSTICK_TICKINT);
}
M0的库为何函数不全,还要自己写一部分。 吃惯了米饭,就闲面条太长?
哈哈,我这样说,楼主生气不? 我连STM32的库都用不习惯呢。 还是LM3S的好啊 用惯了M3,看M0确实有些不习惯。
/***************************初始化串口*********************************/
/* Set UART Pin */
DrvGPIO_InitFunction(FUNC_UART0);
/* UART Setting */
sParam.u32BaudRate = 115200;
sParam.u8cDataBits = DRVUART_DATABITS_8;
sParam.u8cStopBits = DRVUART_STOPBITS_1;
sParam.u8cParity = DRVUART_PARITY_NONE;
sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES;
/* Set UART Configuration */
DrvUART_Open(UART_PORT0,&sParam)
DrvUART_EnableInt(UART_PORT0, DRVUART_RDAINT,UART_INT_HANDLE);
/*****************************回调函数**********************************/
void UART_INT_HANDLE(uint32_t u32IntStatus)
{
uint8_t bInChar={0xFF};
if(u32IntStatus & RDAIE)
{
/* Get all the input characters */
if(UART0->ISR.RDA_IF==1)
{
/* Get the character from UART Buffer */
DrvUART_Read(UART_PORT0,bInChar,1);
DrvUART_Write(UART_PORT0,bInChar,1);
}
}
}
弄个中断服务函数多好,偏偏要用回调函数,迷糊啊
上面代码都是实验过的。 LM3S好吗??现在市场上好像连片子都很少,一个买都买不到的片子好坏无所谓,反正也用不上。 LZ从什么地方得到的芯唐M0,价格如何? 回复【6楼】jianghehupo
lz从什么地方得到的芯唐m0,价格如何?
-----------------------------------------------------------------------
百特电子代理新唐的cortex-m0。
价格便宜。 价格不错.库还是自己 写的好.
一个美金以下.32kflash的 是啊,自己写库好些,NUC100的硬件寄存器相对简单。
看来芯唐统一对外报价1美金。
我问过,nuc100 32kflash一个月内能拿到量产的货。(代理说的) 你就等吧,一个月后还是一个月,他们3月份就说一个月后cm0要量产了 ls说的似乎属实,到现在我样片还没拿到,只有块开发板。 我用芯唐NUC100,外部12M的晶振,串口通讯9600波特率
AVR芯片7.3728M的晶振,串口通讯9600波特率进行通讯,
发现通讯处理比AVR要慢很多,为什么? 靠 一美金 很便宜 ~~~~~ 不是吧真的假的我还打算采用了 QQ450766221大中科技专业一级代理 lz积分是负的 还有负的 如果就库函数的全面和方便程度上STM32应该是目前最好的M3芯片了,NXP的LPC17系列库里面和M3内核相关的部分,比如NVIC部分的设置也是需要利用M3提供的函数,而不是自己的库。 不用库的飘过。 你这个是有问题的! 倍频的话首先要设置PLL的mode
DrvSYS_SetPLLMode (0); http://shop63353925.taobao.com/新唐M0 搞了一个星期的M0,尝试了三种方法。
1、函数库
2、寄存器库
3、老式方法,如PORT3->PMD,SYSCLK->XX这个结构的
总体感觉,第三种好,第一种要熟悉相关文件及函数功能,第二种也不方便。尤其是前两种,一堆文件,编译费时间。还是第三种方便,用M051Series.h这个文件里的结构体定义的寄存器,名字和datasheet是对应的,编译起来也快。
前两种,所赠光盘的库装上就有。
第三种,application note这个英文目录里有比较详细的说明和代码 原来认为只有ST有库,还要放弃库呢,现在看来用库是一种趋势了!./emotion/em024.gif NXP 的库配置超简单:
比如串口,只有一个参数是波特率,当然默认是8n1. 现在可以了 使用回调函数目的是为了可封装性,你用不着去改库文件 我这里也在卖M051的芯片 wenking99 发表于 2010-6-27 15:59
我用芯唐NUC100,外部12M的晶振,串口通讯9600波特率
AVR芯片7.3728M的晶振,串口通讯9600波特率进行通讯, ...
最近在用 M0516LAN串口,就是不出数据(用BSP包里的例程),可以发个你的串口参考下吗? fomula 发表于 2010-11-18 16:49
搞了一个星期的M0,尝试了三种方法。
1、函数库
2、寄存器库
我用的是M0516,在应用笔记里没有找到M0516相关的资料 青菜萝卜 各有所爱
页:
[1]