-
运放的2个主要应用是放大和比较,作为放大器它是在负反馈状态下工作,作为比较器它应该在正反馈下工作。其电路的差别在于运放的输出端接一个电阻后如果接到运放的-输入端则为负反馈作放大,如果接到运放的+输入端则为正反馈作比较,
-
我也想知道,那位大侠给指条路啊
-
初步看,可能是清中断的地方有问题:
FIQ中断产生后,INTPND不会置位的。
所以下面这样写是不会清除中断的
rSRCPND =rINTPND;
没有清中断,当恢复中断后,立马又进入FIQ处理程序,相当于死循环一样了。
-
能不能具体一点?谢谢!
-
结温指的是哪个温度
-
建议楼主先看一下我的这篇帖子,抓住重点现象描述这样才能更快的获得答案,帖子地址:
送给关注WinCE社区的每个人:提问的智慧 - How To Ask Questions The Smart Way
-
我也正在研究摄像头的程序,定一下。
-
引用 5 楼 river0001 的回复:
引用 3 楼 yashi 的回复:
编程肯定是可以的,当然这需要SDK(其实不用特定的SDK也是可以做的,不过会有一些麻烦)。
不知道你用的是什么设备,也许这个厂家不希望你在他们的产品上运行别的程序。
不用特定的SDK怎么做呢?我想用c++编程,vs2005,界面用MFC。
不支持ActiveSync也可以编程吗?我想购买的是wince导航仪。
多谢了!
如果你买的是爱培科 930可以联系我一起做点开发。
-
引用楼主 youyou6115 的回复:
ce5.0,用pb编写驱动,如何为驱动添加宏定义
和一一般软件开发是一样地添加,一般是写在头文件中。。。
-
因为我在班子上一段一段的割线试。最后割到单片机部分。把单片机的3个VDD线割断,,板子其他部分不短路,但是单片机还是短路,把去偶电容下了,板子其他部分不短路,单片机还短,把单片机靠VDD脚线割了单片机还短,但是其他部分不短了。最后把单片机的VDD脚翘起来,直接测脚和地,单片机和地还是短。板子其他部分不短路。焊接我一块一块在放大竟下看了,没短。而且是熟练工焊的。所以不板子的问题
-
CreateFile
ReadFile
WriteFile
......
用这些API函数不可以吗
我刚测试过读写txt,doc这些文件都是可以的
http://blog.eeworld.net/joyzml/archive/2009/12/02/4926350.aspx
如果是ini文件
还可以通过其他途径打开
还可以通过文件映射到内存的方法
这样读写速度更快
——————————————————————————
JOYZML(朱铭雷)
-
哪有呀,网上都没有,找两天了都,你那里有发我,或者给个链接
-
1、生成的这个项目根目录下,看不到连接文件,在C:\Program Files\STMicroelectronics\st_toolset也没找到连接文件的影子,仅在H:\STdemo\demo\Debug和H:\STdemo\demo\Release下看到了demo.lkf这个问家,虽然lkf后缀和其它编译器的连接文件不一样,但打开文件看,这应该是一个编译需要的连接文件。在使用IAR等的时候,连接文件都是根据不同的CHIP单独编写,并在编译器设置中定位到对应目录下的,但这个demo.lkf似乎是在建立项目时自动生成的,这个连接文件是由STVD还是由COSMIC生成的呢?!打开这个demo.lkf文件,也没有看到有关_vectab[]关联定位信息。
2、另外有关CALL XXX的操作码的问题,CALL的指令长度是多长的?!如果是16BIT的,那么0X82是操作码占用了8个BIT,后面的8个BIT就是操作地址了把?那16BIT长度时就只能调用256BYTE程序空间的函数,如果是24BIT或者32BIT的,就可以调用0xffff或者0xfffff长度的函数,据说STM8最大的ROM空间达到了16Mbyte,那么CALL指令长度就应该要达到32BIT才刚好16M,也就是说CALL的指令格式为0x82+24BIT地址,这个理解对不对?
demo.lkf文件内容。
# LINK COMMAND FILE AUTOMATICALLY GENERATED BY STVD7
# SHOULD NOT BE MANUALLY MODIFIED
#
# Put you segment configuration here
# define the .share segment when using compact or memory models only
#<BEGIN SEGMENT_CONF>
# Segment Code,Constants:
+seg .const -b 0x8080 -m 0x1ff80 -n .const -it
+seg .text -a .const -n .text
# Segment Eeprom:
+seg .eeprom -b 0x4000 -m 0x800 -n .eeprom
# Segment Zero Page:
+seg .bsct -b 0x0 -m 0x100 -n .bsct
+seg .ubsct -a .bsct -n .ubsct
+seg .bit -a .ubsct -n .bit -id
+seg .share -a .bit -n .share -is
# Segment Ram:
+seg .data -b 0x100 -m 0x1300 -n .data
+seg .bss -a .data -n .bss
#<END SEGMENT_CONF>
# Put you startup file here (it depends on the model used)
#<BEGIN STARTUP_FILE>
crtsi0.sm8
#<END STARTUP_FILE>
# Put your object files here (they depend on you application)
#<BEGIN OBJECT_FILES>
Debug\main.o
#<END OBJECT_FILES>
# Put your library name here (it depends on the model used)
#<BEGIN LIBRARY_FILES>
libis0.sm8
libm0.sm8
#<END LIBRARY_FILES>
# Put your interrupt vectors file here if needed
#<BEGIN VECTOR_FILE>
+seg .const -b 0x8000 -k
Debug\stm8_interrupt_vector.o
#<END VECTOR_FILE>
#<BEGIN DEFINED_VARIABLES>
+def [email=__endzp=@.ubsct]__endzp=@.ubsct[/email] # end of uninitialized zpage
+def [email=__memory=@.bss]__memory=@.bss[/email] # end of bss segment
+def __stack=0x17ff
#<END DEFINED_VARIABLES>
-
当然需要看液晶控制器的手册。但根据用过的几款控制器来看,它的用途是:限制随后的写入操作到设定的window内。在某些情况下,这条命令比较有用。
-
用的4.2的系统
-
打印机开发分两块,一是控制卡对打印机机芯的控制,如走纸,传感器状态检测等,彩色打印机更复杂,还有一块是对打印数据进行处理,这个要算法,过去常用PCL驱动。现在由于出于成相控制,多彩用GDI的驱动方式,处理数据是打印机一个难点,包括数年据压缩,解压,色彩控制。总之,这真的要经验和技术沉淀。
-
楼主辛苦了
-
-
没做过,但帮助中有相关说明:
Remarks
It is not recommended that you add and subtract values from this structure to obtain relative times.
The following list shows tasks to perform instead:
Convert the SYSTEMTIME structure to a FILETIME structure.
Copy the resulting FILETIME structure to a ULARGE_INTEGER structure.
Use usual 64-bit arithmetic on the ULARGE_INTEGER value.
-
void RCC_Configuration(void){ ErrorStatus HSEStartUpStatus; //使能外部晶振 RCC_HSEConfig(RCC_HSE_ON); //等待外部晶振稳定 HSEStartUpStatus = RCC_WaitForHSEStartUp(); //如果外部晶振启动成功,则进行下一步操作 if(HSEStartUpStatus==SUCCESS) { //开启FLASH预取指功能 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //FLASH时序控制 //推荐值:SYSCLK = 0~24MHz Latency=0 // SYSCLK = 24~48MHz Latency=1 // SYSCLK = 48~72MHz Latency=2 FLASH_SetLatency(FLASH_Latency_2); //设置HCLK(AHB时钟)=SYSCLK RCC_HCLKConfig(RCC_SYSCLK_Div1); //PCLK2(APB2) = HCLK RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK1(APB1) = HCLK/2 RCC_PCLK1Config(RCC_HCLK_Div2); //PLL设置 SYSCLK/1 * 9 = 8*1*9 = 72MHz RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //启动PLL RCC_PLLCmd(ENABLE); //等待PLL稳定 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //系统时钟SYSCLK来自PLL输出 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //切换时钟后等待系统时钟稳定 while(RCC_GetSYSCLKSource()!=0x08) { } } else { /* If HSE fails to start-up, the application will have wrong clock configuration. User can add here some code to deal with this error */ /* Go to infinite loop */ while (1) { } } //下面是给各模块开启时钟 //启动GPIO RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE); //启动AFIO RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);}void RTC_Configuration(void){ //启用PWR和BKP的时钟(from APB1) RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE); //后备域解锁 PWR_BackupAccessCmd(ENABLE); //备份寄存器模块复位 BKP_DeInit(); //外部32.768K RCC_LSEConfig(RCC_LSE_ON); //等待稳定 while(RCC_GetFlagStatus(RCC_FLAG_LSERDY)==RESET); //RTC时钟源配置成LSE(外部32.768K) RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); //RTC开启 RCC_RTCCLKCmd(ENABLE); //开启后需要等待APB1时钟与RTC时钟同步,才能读写寄存器 RTC_WaitForSynchro(); //读写寄存器前,要确定上一个操作已经结束 RTC_WaitForLastTask(); //设置RTC分频器,使RTC时钟为1Hz //RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) RTC_SetPrescaler(32763); //加快一点,设置为32767一天慢20秒 设置为32764一天慢1秒 //等待寄存器写入完成 RTC_WaitForLastTask(); //使能秒中断 RTC_ITConfig(RTC_IT_SEC,ENABLE); //等待写入完成 RTC_WaitForLastTask();}实在查不出问题在哪儿,看到很多关于STM的RTC不准的问题,是不是也是这个原因。