-
从厂商那申请的
-
刚试了下,用STVD开发环境,可以用STLINK硬件仿真.
那是IAR FOR STM8我设置的不对?还是IAR FOR STM8不支持STM8S103K3用STLINK硬件仿真?
-
从Wait模式唤醒后继续执行,从Halt模式唤醒后相当于Reset。
-
学习了……
-
做过的兄弟指点我一下啊
-
我下载了几个关于DFU的,可都是0412,安装到C:\Program Files\STMicroelectronics\……
弱弱的问一句:上面那个链接打开后,页面里哪个是我们说的那版代码?
安装STM32_USB-FS-Device_Lib后找到Device_Firmware_Upgrade这个例子。
STM32_Docs.gif
(108.41 KB)
下载次数:1
2010-5-13 13:36
-
请版主说得清楚一些,不同的固件库下模板放在什么位置(eg:3.20),是什么文件格式,是否可以编辑,谢谢。
-
选1吧
我不知道这个。
但是比如安装数据库的时候
个人版的支持的功能就相对较少。
不知道这个是不是这样。
-
个人认为,不是观点,很多都认为驱动程序对C的要求不高,其实不然,老师对我说过为么一句话,嵌入式底层驱动程序要的是效率,有时候可以为了效率而将底代码的可读性。比如在循环中为了减少跳转次数而采用循环扩展。还有对内存的了解,每个字节在内存中的分部情况。内存对齐。函数参数,对于不同字长的处理器尽量把变量,参数,返回值等定义为与处理器字长相等,如ARM为32位的,这样尽量把变量,参数,返回值声明为32位的效率会更高。
当然,指针是最重要的,如果楼主搞嵌入式Linux的话,去看一下Linux内核,你会知道内核里指针比什么都用得多。
static int(*test_func[])(int ) = {
iscntrl,
isspace,
isdigit,
islower,
isupper,
ispunct,
is_not_print
};
if(test_func[category](ch))
count[category] += 1;
这是一个程序中的一部分,应用函数指针数组来进行调用函数,这样程序会更加通用。
-
看门狗具体使用方法如下:
在程序初始化中向看门狗寄存器(WDTRST地址是0A6H)中先写入01EH,再写入0E1H。即可激
活看门狗。
Org 0000
Ljmp begin
Begin:
Mov 0A6H,#01EH ;先送1E
Mov 0A6H,#0E1H ;后送E1
;在程序初始化中激活看门狗。
……
……
For:
……
Mov 0A6H,#01EH ;先送1E
Mov 0A6H,#0E1H ;后送E1
;喂狗指令
……
Ljmp for
在C语言中要增加一个声明语句。
在AT89X51.h声明文件中增加一行 sfr WDTRST = 0xA6;
Main()
{
WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗,即激活它
While (1)
{
WDTRST=0x1E;
WDTRST=0xE1;//喂狗指令
}
}
注意事项:
1. 89S51的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位。
否则看门狗也无法工作。
2. 看门狗使用的是CPU的晶振。在晶振停振的时候看门狗也无效。
3. 89S51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固
定的,无法更改。当晶振为12M时每16个毫秒需喂狗一次。
4.在ATMEL的89S51系列的89S51与89C51功能相同。指令兼容。HEX程序无需任何转换可以直接使用。89S51只比89C51增加了一个看门狗功能。89S51的其它功能可以参见89C51的资料
以上程序我已调试通过。还利用定时器把看门狗的喂狗时间延长几秒至几分钟。
程序没进入死循环,只要小于看门狗的溢出周期,那系统就不会复位啊,看门狗的目的就是怕程序陷入莫名的死循环中
-
DeviceIoControl(hDevice,START_FILTER,NULL,0,NULL,0,NULL,NULL)
//红色那里有问题,必须放入一个DWORD指针
-
unsigned char temp,buff[4];
temp = (uchar[0]>>4)+'0';
if( temp > '9' )
temp += 7;
buff[0] = temp;
temp = (uchar[0]&0x0f)+'0';
if( temp > '9' )
temp += 7;
buff[1] = temp;
同理,另一字节请重复一下。
-
貌似关系这个问题的人不多哈~,伤心~!
-
写不了注表,如果说你已经实现了HIVE的话,有可能是文件系统破坏了。
我碰到过这种情况,我用的8g08的MLC经常出现注册表文件破坏就不能再进行操作了。
-
SPI的最高速度是18MHz,不管是SPI1还是SPI2,也不管是在APB1上还是在APB2上。
楼主为什么会有这样的疑问?你碰到了与此不相符的情况了吗?
-
i是UINT32,32位整型,即便变了类型不匹配延时应该也没问题啊,延时参数我修改的很大,照样是一闪而过,压根就没有执行,但是debug信息却打印出来了,不清楚怎么回事,感觉很怪
-
LZ 的是 DM9000A 还是 DM9000B, 若是 DM9000A, 则其 Analog PHY 有 bug, 故建议换为 DM9000B.
Paul, Chao @ Techware
-
应该是不会有问题的.
-
引用 6 楼 wangguoqun 的回复:
引用 5 楼 ccyu 的回复:
引用 4 楼 wangguoqun 的回复:
引用 2 楼 ccyu 的回复:
/WP管脚在上电的时候要保证无效, 另外要检查NAND的Driver是否稳定
ccyu兄的意思是用I/O口来控制/WP?
你原来的/WP是怎么接的? 直接接高就有问题.
是直接接高的,一直都是这样处理的,那如果用I/O口控制的话需要延时吗,如果要延时那一般要延时多久,可不可以打开主IC的电源时一起打开
不用延时,系统起来了,表示电压已经稳定了,这时候置高就比较安全了. 其实启动的时候让NAND处于保护状态, 就和复位芯片的作用一样,防止系统电压不稳定阶段意外损坏NAND中的数据. 当然,数据丢失可能的问题很多, 这只是一种可能性.
-
Hello AlphaWu,
能发我一份吗,我也在找这个东东,
我也装了PB5.0,Public\Common\Oak\Drivers 下跟本没有GPSID 这个目录
谢谢了!!