-
在stm8s.h中修改如下代码
#if !defined (STM8S208) && !defined (STM8S207) && !defined (STM8S105) && !defined (STM8S103) && !defined (STM8S903)
//#define STM8S208
/* #define STM8S207 */
#define STM8S105
/* #define STM8S103 */
/* #define STM8S903 */
#endif
选择你的芯片
-
楼上的大哥,我用一路AD做为一路输入(外面不接任何东西)得到的数是1970 ,所以Vref转换值=1970*3.3/4096=1.58V,并不是1.225V啊。另外如果我得到一个数A,那么我的VDD是不是这样算:
VDD=3.3*A/1970.还有谁知道怎样 ...
看上去1970不是测量内部Vrefint得到的值,需要注意的是最好多测几次内部Vrefint,把前2次的测量结果丢掉。
内部Vrefint可以输出到PD7,可以看STM8L Reference manual的这章: Routing interface and System configuration controller
-
对不起,我记错,不是在MDK412的安装目录下,是在st_toolset安装目录下(如果你安装了的话),ST官方也有下载
stlink.rar (392.78 KB)
下载次数:94
2010-12-10 09:50
-
要是串口奇偶校验有问题,这种问题应该早就发现了,不会等这个时候了。
-
有一个通道(channel 11?)是测量VCC/2的,永远是2047左右。
这么简单的问题,最好先和例程对比下。
-
人民可把你盼回来了
-
串口性能不好,maybe 。
-
任何一个领域,都有失败者和成功者。在该领域中,在我感觉失败的时候,他就拿自己和其他领域的成功人士来对比,将自己比下去,比到死。
那么,楼主,你可曾见过卖包子的人,凌晨1,2点起来做,然后早上最多卖个百来个。。除了成本,没钱赚了。
虽然我知道很多做销售的,保险的,动不动就年薪几十万,但是,还有很多做销售的,一个月拿个1,2K的基本工资,除了吃住,公车费,没钱剩了。
再说,很多的技术骨干,都动不动都几十万年薪的啊。。。。
一句话,任何一个领域,都有失败者和成功者。大家要努力去做成功者,就算自己现在很落魄,,,也不要同人家成功人士比。。。。。。。
-
顶顶顶顶顶顶
-
引用 4 楼 xiaoyufu007 的回复:
引用 1 楼 nemotian 的回复:
.text .golbal都是伪指令;.text表示预定义代码段。.golbal用来定义一个全局的符号
_start是标号,不是必须这个名字,是用.golbal来定义的代码段入口。
入口地址在连接文件中定义,如 :xxx.lds文件
xxx.lds文件怎么用啊?是Makefile可以引用的一个文件吗?能给个例子吗?
lds文件最终目的其实就是讲述 可执行文件的各个部分在存储器中的存放方式、存放位置。
lds与.text这些伪指令可参考《ARM体系结构与编程》这本书。
网上也可以下到这本书的电子版。
-
运放开始吧.学2-3年运放,世界就是你的?
-
结果很奇怪啊,你的int类型有没有被重定义过。 试试用0x80020000+0x20000000(uncached)看看。
-
引用 11 楼 sunrain_hjb 的回复:
usb模拟的串口,波特率上限应该不止115200.
我也希望是啊,但是没见过比这高的。不过波特率没见过有更高的定义啊。
-
帮顶下。
我也学习下。
-
PC分成几部分接收数据是正确的,因为你用高波特率通信时,数据传的快,关键是你的PC软件收到数据后,把先后收到的数据顺序保存在缓冲区里,然后按照协议处理,你说的这个问题是通信的本质现象,而不是怪现象
-
usb协议是必须要看的
-
看看。。。。。
-
——————续——————————
另外,我给那些久不关心51的朋友们提供一些关于51的动态,是想告诉你们51不仅在通用MCU的市场上依然活跃,而且他们更被应用到了更广阔的天地甚至被首先引入到了具有前瞻性的应用之中。
1、深度嵌入,提供功能性芯片智能化。 51核被嵌入到了总线控制器、以太网控制器、USB控制器、射频器件
等许多厂家的功能性芯片中。在此仅举一例:CC1100。
2、PSOC3 个人认为这是一个很好的尝试,甚至用可能成为未来MCU的方向和趋势。也许PSoC会死,但我认为这种MCU设计理念必将存活下来。
3、双核的51——LS2051 有创意呀,也许你会说8位MCU搞双核没意义。可是谁知道呢。
4、FPGA中的51核 PLD应该是未来电子设计中新的宠儿,甚至是电子工程师和嵌入式工程师的必备技能——就像今天的MCU一样。FPGA应该不会大规模的替代MCU的市场,但是我认为他会以另一种形式进入到MCU的市场中来,那就是MCU、PLD和PAC组成的SoC也就是类似于PSoC3的产品,所以对于FPGA我们还是应该予以关注的。 那么我可以负责任的告诉你,FPGA主要厂商的产品上都有51软核的存在,且不止一种。但是其他如AVR和PIC的核我还真没怎么见过。
至于51其他的“另类”拓展,我也就不太清楚了。希望其他知道更多相似内容的朋友写出来与大家分享。
-
都没人回答,改了一些,我现在把自己的BOOTLOADER下载到USER AREA(0X8000--0X9FFF),并通过自己的BOOTLOADER将应用程序下载到0xA000--0x27fff区域,然后send Go Command(0x21+0xDE+0xA000+checksum),一切都应答正常了。然后Reset运行,bootloader代码执行了如下:
if(GPIO_ReadInputData(BL_ENABLE_PORT) & GPIO_PIN_0)
{
//if user application is not virgin - valid reset vector jump
if((*((@far u8*)MainUserApplication)==0xA2) || (*((@far u8*)MainUserApplication)==0xAC))
{
GPIO_DeInit(BL_ENABLE_PORT); //de-init pull-up
//reset stack pointer (lower byte - because compiler decreases SP with some bytes)
_asm("LDW X, SP ");
_asm("LD A, $FF");
_asm("LD XL, A ");
_asm("LDW SP, X ");
// then jump to user application
_asm("JPF [_MainUserApplication]");
}
}
执行了上面的_asm("JPF [_MainUserApplication]");
其中:
#define MAIN_USER_RESET_ADDR 0xA000ul
const TFunction MainUserApplication = (TFunction)MAIN_USER_RESET_ADDR;
而在我的应用程序中:
在STVD工具project settings中的linker--》input中将vector addr 改为 0xa000,code segment的开始地址改为0xa080
并将stm8_interrupt_vector.c中的中断指令地址改为0xa200,
程序还是跑不起来,不知道哪错了。还有哪些要修改的???
-
手动copy,再Making
速度很快的。