-
采样定理:采样频率至少大于信号最大频率的2倍。(一般取 5-10倍)
5-10倍不是描述的上限,谁也没有限制取更高的采样频率呀!
-
很不错的参考手册
-
我觉得,就目前的cortex-m3,m0,的资源来说 ,一个月的时间,如果你能静下心来学习,应该能学得差不多!至于能否真正学会,这个我真不能保证,看个人能力吧!原子毕业设计就能做mp3,并且非常的漂亮,GUI也是非常的经典,现在的Alientek很多源码就是移植他的毕设!
不一定要买我们的板子,尤其是学生资金不充足!还有些朋友手上已经有了板子,可以移植一下我们的源码上去!!接口啥的,我们都讲得非常详细!!
还有就是欢迎广大网友基于我们的板子驱动一些外设,做一些DIY的应用,如果能被Alientek板子用上,我们将不胜感激!!
-
版主今天没上班啊
-
现在都是互联网时代 不能够上网
愚人私下认为 不能够很好的获取一些新的消息
也许有时并抓不住先机
-
得到一种“无比纠结”的波形,呵呵
-
顶一下
-
能把一些DEBUG信息贴出来吗?
-
完全奉献贴,顶一个.
-
是的,自己努力什么都可以成功
-
俺发现如果加这个low_level_init.c文件,它会执行这个文件里的__low_level_init()函数,当然要把编译选项里的RUN TO MAIN 里的勾去掉才看得到。
__interwork int __low_level_init(void)
{
// 关闭中断
asm("CPSID I");
//=====================================================================================================
// 复位目标系统的NVIC,恢复为上电默认值
//=====================================================================================================
NVIC_DeInit();
NVIC_SCBDeInit();
// 如果在RAM中调试, 修改中断向量表首地址 NVIC_VectTab_RAM = 0x20000000
// NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
// 否则修改中断向量表在Flash中, NVIC_VectTab_FLASH = 0x08000000
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
//=====================================================================================================
// 系统时钟初始化
//=====================================================================================================
// RCC system reset(for debug purpose)
// 将RCC寄存器恢复为上电默认值
RCC_DeInit();
// Enable HSE
// 打开high-speed external clock signal
RCC_HSEConfig(RCC_HSE_ON);
// 等待外部外部晶振ready
RCC_WaitForHSEStartUp();
// Enable Prefetch Buffer
// 启用预取缓冲区
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
// FLASH_Latency_0 = 000: 0等待状态, 当 0 < SYSCLK≤24MHz
// FLASH_Latency_1 = 001: 1等待状态, 当 24MHz < SYSCLK≤ 48MHz
// FLASH_Latency_2 = 010: 2等待状态, 当 48MHz < SYSCLK≤ 72MHz
// SYSCLK = 72MHz
// Flash 2 wait state
FLASH_SetLatency(FLASH_Latency_2);
// HCLK = SYSCLK
// HCLK = 处理器时钟
// SYSCLK = PLL_CLK or HSE or HSI
RCC_HCLKConfig(RCC_SYSCLK_Div1);
// PCLK2 = HCLK
// PCLK2 = 72MHz
RCC_PCLK2Config(RCC_HCLK_Div1);
// PCLK1 最大不可超过36MHz
// PCLK1 = 72MHz / 2 = 36MHz
RCC_PCLK1Config(RCC_HCLK_Div2);
// ADCCLK = PCLK2/2
// ADCCLK = 12MHz
RCC_ADCCLKConfig(RCC_PCLK2_Div2);
// PLLCLK = 8MHz * 9 = 72 MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
// Enable PLL
RCC_PLLCmd(ENABLE);
// 等待PLL Ready
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}
// 连接SYSCLK到PLL_CLK, SYSCLK = PLL_CLK
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// 等待 SYSCLK 稳定
while(RCC_GetSYSCLKSource() != 0x08)
{
}
return 1;
}
-
大概就是那个for循环那里有点问题,前面没分号,少了花括号?仔细检查检查
-
volatile unsigned char tm;
volatile unsigned char ts;
复制代码
-
引用 1 楼 91program 的回复:
这个问题,以前有人在这里问过,没有什么好的解决办法,只能自己去绘制菜单
就是不要看CE自带的菜单或类,在窗体上自己绘制
有没有简单一点的例子提供,谢谢!
-
对于生产厂家来说,成本是很重要的。
我现在做的一个产品,汇编代码是12K。单片机要6块多钱,但老板说要把单片机的成本降到3块钱左右。
那么楼主写代码时就要考虑MONEY了。
-
恩,最重要的是偶的拼音啊。真是搞不明白啊
-
我们老师说用zigbee很好的。不知道能行不?
-
主要是现在还不是很懂 应该选怎什么方向的
-
估计你现场的接线有问题,要接成总线形式的,星形的有问题的
-
定时器中断占用CPU资源太多,应该只在定时器服务代码中设置计时标志字,在主代码中计时判断动作,否则定时器中断服务代码影响串口通信.