-
乱78遭的。
很简单啊,因为你用的是库函数,官方这个程序是专门针对官方的开发板的。所以把
#ifdef USE_STM3210C_EVAL 到 #endif中间要看清楚了。要是你条理清楚的话把这个删掉,只选适合你的。
你的串口进不了中断:
1.你的时钟是否正确。官方的时钟用的是外部8M晶振,要是你用的是16M的时候你就要改一下寄存器了。沿着这个SystemInit();函数可以找到。
2.你的中断函数的名字对不对,这个可以看起动文件,里面有中断的名字。你用的是USART2.则函数名为USART2_IRQHandler.
3.你的外设时钟开启的对不对。GPIO的时钟对不对。
4. 好好理理你的程序。你搞这么长没人有时间去看的。
-
淘宝上买东西,得选准好的商家
-
进来学习一下:)
-
在裸奔的状态下只要修改SD初始化
-
顶,多多了解。
-
本来想通过注册表的RasBook 来配置。却发现成功拨号的rasbook根本没有devicecfg 这一键项。请各位帮忙解决。谢谢!
拨号时弹出的框通过第一次拨号时选择保存用户名密码。然后拷贝"Entry"=hex:\可以解决。
-
最好用原版
-
如果非要计算的话
反汇编之后
查一下指令系统
每条汇编指令
对应几个机器周期
每个机器周期对应几个时钟周期
时钟周期通过晶振频率确定
理论上也是可以精确计算出来的
-
这个问题是这样的,绝大部分机器都是可以正常唤醒的,现在就是100台中测试有3台不能正常唤醒.[url][/url]
-
呵呵,月末接分
-
非常同意byeyear 的解释,顺便问一句,其他品牌的M3的DMA是否也不支持 burst 模式?
-
一般是的,编译环境有在PB下的,也有在ADS下的
-
cachable,uncachable都是虚拟的,物理地址就是物理地址,那有什么操作系统的物理地址
-
用的是msp430f2618
法1: 硬件spi
P3SEL |= 0x31; // P3.5,4,0 option select
UCA0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB+UCCKPH; //3-pin, 8-bit SPI master
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 0x10; // /2
UCA0BR1 = 0; //
UCA0MCTL = 0; // No modulation
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
// IE2 |= UCA0RXIE; // Ena××e USCI_A0 RX interrupt
ADS7886_CS_DIR = 1;
ADS7886_CS = 1;
unsigned int ads7886_spi_read()
{
unsigned int data = 0;
ADS7886_CS = 0;
while (!(IFG2 & UCA0TXIFG)); // USCI_B0 TX buffer ready?
UCA0TXBUF = 0x55;
while (!(IFG2 & UCA0RXIFG)); // USCI_B0 TX buffer ready?
data = UCA0RXBUF;
while (!(IFG2 & UCA0TXIFG)); // USCI_B0 TX buffer ready?
UCA0TXBUF = 0x55;
while (!(IFG2 & UCA0RXIFG)); // USCI_B0 TX buffer ready?
data = (data<<8)|UCA0RXBUF;
ADS7886_CS = 1;
return (data&0x0fff);
}
法2 : io模拟
void ads7886_init()
{
ADS7886_SCLK_DIR = 1;
ADS7886_CS_DIR = 1;
ADS7886_SDO_DIR = 0;
ADS7886_SCLK = 1;
ADS7886_CS = 1;
}
unsigned int ads7886_read_data()
{
unsigned char i = 0;
unsigned int data = 0;
ADS7886_SCLK = 1;
ADS7886_CS = 0;
for(i=0; i<16; ++i)
{
data <<= 1;
ADS7886_SCLK = 1;
if(ADS7886_SDO)
data |= 0x0001;
else
data &= 0xfffe;
ADS7886_SCLK = 0;
}
ADS7886_SCLK = 1;
ADS7886_CS = 1;
return (data&0x0fff);
}
//第二个下降沿~第十个下降沿中间 降cs置高
void ads7886_power_down()
{
unsigned char i = 0;
ADS7886_SCLK = 1;
ADS7886_CS = 0;
for(i=0; i<3; ++i)
{
ADS7886_SCLK = 0;
ADS7886_SCLK = 1;
}
ADS7886_CS = 1;
}
//A dummy cycle with CS low for more than 10 SCLK falling edges brings the device out of power down mode.
//cs拉低10个时钟周期以上
void ads7886_wake_up()
{
unsigned char i = 0;
ADS7886_SCLK = 1;
ADS7886_CS = 0;
for(i=0; i<12; ++i)
{
ADS7886_SCLK = 0;
ADS7886_SCLK = 1;
}
ADS7886_CS = 1;
}
-
ding
-
我还以为要发布STM32的新品呢。失望
tsx1983 发表于 2009-9-15 18:02
-
我这都是有模仿的源码
但是属于公司的机密,楼主爱莫能助了
-
引用 8 楼 zhengchao109 的回复:
哪里可以下对他的支持库?
? 怎样放到wince5里面去?
再加分
没有
只能自己定制系统,用硬件开发板来做
-
后面的已经包含这些,不用再更新,只要更新到最后全年的大包装即可
-
优先级是你在设置中断向量的时候设置的,你可以根据你的系统的性质,把某个中断的优先级设置成
比较高的优先级;(当然,不能设置为最高优先级,因为最高优先级被用于系统时钟了)
许多cpu并不支持自动中断嵌套,但会有中断屏蔽寄存器,这种情况下,需要在中断代码里实现中断嵌套就要靠
写中断屏蔽寄存器和一些标志位来实现
中断优先级跟ucos操作系统一点关系都没有