linjh052

    1. STM32串口的bug问题 15/6519 stm32/stm8 2011-03-03
                                       既然你已经看了人家的博客,你应该可以知道自己碰到的是不是同样的问题。
    2.                                  还不错的一些实例源码
    3. STM8地址重叠编译错误,要怎么设置; 5/4500 stm32/stm8 2010-11-15
                                       
      STM8编译时报错,如下,  这要怎么解决 #error clnk Debug\tim1pwm.lkf:1 segments .text (0x8083-0x82e2) and .const (0x8000-0x8084) overlap
      .const看上去是中断向量,可以看看stm8_interrupt_vector.c 是否有问题。另外就是看链接文件:tim1pwm.lkf,建议把它贴出来看看。
    4.                                  KEIL里面的固件库的确是比较老,更新速度不行
    5. STM8怎么批量烧录程序 11/9111 stm32/stm8 2010-08-11
                                       这个问题似乎太大了,一两句话似乎说不清
    6. 引用 2 楼 kacyquan 的回复: 资料齐全的,价格便宜的就好了~~~~~ARM几都没什么关系。个人觉得
          呵呵,你能给推荐几种吗?
    7. 关于CETK的SDK 6/3002 嵌入式系统 2010-05-17
      你可以用显示出来的sdk连接下板子试试,应该能连接到你现在的板子上面,然后你再测试。但是注意你能显示的sdk必须是和你板子同一个体系结构的。
    8. display(unsigned char shiwei,unsigned char gewei)//显示函数 肯定是这里出了问题 {   P0=tab[gewei];   P2=0XFE;   delay(100);   P0=tab[shiwei];   P2=0XFD; } 改成这样可以吗??(也就是先赋值给数据口,然后片选)
    9. 如果是初学的话,51单片机是最容易上手同时资料也最多的单片机了。各项性能指标也能够达到你所说的要求。在网上随便搜搜都能找到不错的视频教材。不过我最近没关注这方面的东西,听说貌似郭天祥的视频不错,论坛里不少其他帖子也提到这个问题,你可以翻一翻参考一下 和PC的实时通信,要看你在PC端的接收程序是怎么写的,如果使用自己专门编写的接收程序的话,通信是很容易实现的,51的串口是与PC最容易实现的通信功能之一。但如果想使用PC自带的程序来进行通信的话(比如你说的自制键盘,我推测应该是想要让PC操作系统自己识别和使用吧),难度就提高了不止一个层次了,这个就需要啃PC相关协议的资料还有操作系统的API接口资料了
    10. 三级管电流放大作用(有图) 19/8386 嵌入式系统 2010-04-16
      三极管就是电流控制型的啊 路过学习下
    11. 汇编实现公历转农历 12/4275 嵌入式系统 2010-04-06
      #include "calendar.h" #include #define GET_DAYOFWEEK_FAILED 0xff #define LUNAR_CALENDAR_TABLE_SIZE (MAX_YEAR - MIN_YEAR + 1) #define MONTH_TABLE_SIZE 12 #define GET_SPRING_FESTIVAL_DAY(n) (BYTE)((DWORD)(n) & 0x0000001f) #define GET_SPRING_FESTIVAL_MONTH(n) (BYTE)(((DWORD)(n) & 0x00000060) >> 5) #define GET_LUNAR_MONTH_BITS(n) (WORD)(((DWORD)(n) & 0x000fff80) >> 7) #define GET_LUNAR_LEAP_MONTH(n) (BYTE)(((DWORD)(n) & 0x00f00000) >> 20) #define LUNAR_FIRST_MONTH_OFFSET 12 #define MAX_LUNAR_MONTH 13   //阴历最多月份数 #define LUNAR_LITTLE_MONTH_DAYS  29 //阴历小月的天数 #define LEAP_MONTH_DAYS 29  //阳历闰月的天数 #define IS_LEAP_YEAR(year) ((((WORD)(year) % 4 == 0) && ((WORD)(year) % 100 != 0)) || ((WORD)(year) % 400 == 0)) //每月1号距离元旦的天数,不考虑闰年 code const WORD g_wDaysToNewYearDayTable[MONTH_TABLE_SIZE] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; //每月的天数,不考虑闰年 code const BYTE g_MonthDaysTable[MONTH_TABLE_SIZE] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; /*********************************************************************************************** 100年农历公历对应数表 格式: b23-b20 表示闰月月份,无闰月用0表示           b19-b7 表示农历第1 - 13月的大小,其中1表示大月(对应30天),0表示小月(对应29天)           b6-b5表示当年春节对应公历月份,其中1表示1月,2表示2月           b4-b0表示当年春节对应公历当月的日期 **********************************************************************************************/ code const DWORD  g_dwLunarCalendarTable[LUNAR_CALENDAR_TABLE_SIZE] = {                 0x0C9645, 0x4D4AB8, 0x0D4A4C, 0x0DA541, 0x25AAB6, 0x056A49, 0x7AADBD, 0x025D52, 0x092D47, 0x5C95BA, //2000-2009         0x0A954E, 0x0B4A43, 0x4B5537, 0x0AD54A, 0x955ABF, 0x04BA53, 0x0A5B48, 0x652BBC, 0x052B50, 0x0A9345, //2010-2019         0x474AB9, 0x06AA4C, 0x0AD541, 0x24DAB6, 0x04B64A, 0x69573D, 0x0A4E51, 0x0D2646, 0x5E933A, 0x0D534D, //2020-2029         0x05AA43, 0x36B537, 0x096D4B, 0xB4AEBF, 0x04AD53, 0x0A4D48, 0x6D25BC, 0x0D254F, 0x0D5244, 0x5DAA38, //2030-2039         0x0B5A4C, 0x056D41, 0x24ADB6, 0x049B4A, 0x7A4BBE, 0x0A4B51, 0x0AA546, 0x5B52BA, 0x06D24E, 0x0ADA42, //2040-2049 /*         0x355B37, 0x09374B, 0x8497C1, 0x049753, 0x064B48, 0x66A53C, 0x0EA54F, 0x06B244, 0x4AB638, 0x0AAE4C, //2050-2059         0x092E42, 0x3C9735, 0x0C9649, 0x7D4ABD, 0x0D4A51, 0x0DA545, 0x55AABA, 0x056A4E, 0x0A6D43, 0x452EB7, //2060-2069         0x052D4B, 0x8A95BF, 0x0A9553, 0x0B4A47, 0x6B553B, 0x0AD54F, 0x055A45, 0x4A5D38, 0x0A5B4C, 0x052B42, //2070-2079         0x3A93B6, 0x069349, 0x7729BD, 0x06AA51, 0x0AD546, 0x54DABA, 0x04B64E, 0x0A5743, 0x452738, 0x0D264A, //2080-2089         0x8E933E, 0x0D5252, 0x0DAA47, 0x66B53B, 0x056D4F, 0x04AE45, 0x4A4EB9, 0x0A4D4C, 0x0D1541, 0x2D92B5, //2090-2099 */                }; static BOOL IsDateValid(const DATE* pDate) {         if(pDate == NULL)                 return FALSE;                if(pDate->wYear < MIN_YEAR || pDate->wYear > MAX_YEAR)                 return FALSE;         if(pDate->Month == 0 || pDate->Month > 12)                 return FALSE;                                 if(pDate->Day == 0 || pDate->Day > g_MonthDaysTable[pDate->Month - 1])         {                 if(IS_LEAP_YEAR(pDate->wYear) && pDate->Month == 2 && pDate->Day == LEAP_MONTH_DAYS)                 {                         return TRUE;                        }                        return FALSE;         }                          return TRUE; } //计算所求日期是本年中的第几天 static WORD GetDayOfYear(const DATE* pDate) {                                                                                          WORD wDayOfYear = g_wDaysToNewYearDayTable[pDate->Month - 1] + pDate->Day;            if(pDate->Month > 2 && IS_LEAP_YEAR(pDate->wYear))         {                                return         wDayOfYear + 1;        //闰年多加一天                        }                 return         wDayOfYear; } /* W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天 */ BYTE GetDayOfWeek(const DATE* pDate) {         WORD wTempYear = 0;         BYTE nDayOfWeek = 0;         if(pDate == NULL)                 return GET_DAYOFWEEK_FAILED;         if(!IsDateValid(pDate))                 return GET_DAYOFWEEK_FAILED;         wTempYear = pDate->wYear - 1;                         return ((pDate->wYear - 1) + (pDate->wYear - 1) / 4         - (pDate->wYear - 1) / 100 + (pDate->wYear - 1) / 400 + GetDayOfYear(pDate)) % 7; //        nDayOfWeek = (wTempYear + wTempYear / 4 - wTempYear / 100 + wTempYear / 400 + GetDayOfYear(pDate)) % 7; //        return nDayOfWeek ? nDayOfWeek : 7;        } BOOL GetLunarDate(const DATE* pDate, DATE* pLunarDate) {         idata DWORD dwLunarCalendar = 0;           idata WORD wSpringFestivalOfYear = 0;         idata WORD wDayOfYear = 0;         BYTE LunarLeapMonth = 0;         WORD wLunarMonthBits = 0;         BYTE i = 0 ;         BYTE j = 0;         WORD wTempDays = 0;         WORD wDaysToSpringFestival = 0;  //距春节的天数,或在春节前或在春节后         idata DATE tempDate;         if(pDate == NULL || pLunarDate == NULL)                 return FALSE;         dwLunarCalendar = g_dwLunarCalendarTable[pDate->wYear - MIN_YEAR];         tempDate.wYear = pDate->wYear;         tempDate.Month = GET_SPRING_FESTIVAL_MONTH(dwLunarCalendar);         tempDate.Day = GET_SPRING_FESTIVAL_DAY(dwLunarCalendar);         wSpringFestivalOfYear = GetDayOfYear(&tempDate);         wDayOfYear = GetDayOfYear(pDate);         LunarLeapMonth = GET_LUNAR_LEAP_MONTH(dwLunarCalendar);         wLunarMonthBits = GET_LUNAR_MONTH_BITS(dwLunarCalendar);         if(!IsDateValid(pDate))                 return FALSE;         if(wDayOfYear >= wSpringFestivalOfYear)  //所求的日期在春节后面或当天         {                 wDaysToSpringFestival = wDayOfYear - wSpringFestivalOfYear;                 for (i = 0; i < MAX_LUNAR_MONTH; i++)                 {                         j = (BYTE)TEST_BIT(wLunarMonthBits, LUNAR_FIRST_MONTH_OFFSET - i);                         wTempDays += (LUNAR_LITTLE_MONTH_DAYS + j);                                         //若已经超出相距天数则说明所求日期就在农历当月                         if (wTempDays > wDaysToSpringFestival)                         {                                                                pLunarDate->Day = (LUNAR_LITTLE_MONTH_DAYS + j) - (wTempDays - wDaysToSpringFestival) + 1;                                                                                 //若是在闰月或是在闰月之后则调整月份                                 if (LunarLeapMonth != 0 && i >= LunarLeapMonth)                                 {                                         pLunarDate->Month = i;                                 }                                 else                                 {                                         pLunarDate->Month = i + 1;                                 }                                                                                                 pLunarDate->wYear = pDate->wYear;                                                                         break;                                                        }                                        }         }         /**********************************************************         在MIN_YEAR ~ MAX_YEAR内,没有闰腊月         ***********************************************************/         if(wDayOfYear < wSpringFestivalOfYear) //所求的日期在春节前面         {                 pLunarDate->wYear = pDate->wYear - 1;                   wDaysToSpringFestival = wSpringFestivalOfYear - wDayOfYear;                 if (LunarLeapMonth == 0) //若无闰月,将农历月份信息向右移动一位,使第一位是腊月                 {                         wLunarMonthBits >>= 1;                 }                                                 i = (BYTE)(wLunarMonthBits & 0x0001);  //腊月是否是大月                 j = (BYTE)((wLunarMonthBits & 0x0002) >> 1);  //11月是否是大月                                         if (wDaysToSpringFestival Month = 12;                         pLunarDate->Day = (LUNAR_LITTLE_MONTH_DAYS + i) - wDaysToSpringFestival + 1;                 }                 else                   {                         pLunarDate->Month = 11;                         pLunarDate->Day = (LUNAR_LITTLE_MONTH_DAYS + j) - (wDaysToSpringFestival - (LUNAR_LITTLE_MONTH_DAYS + i)) + 1;                                                                 }                 }         return TRUE; } 复制代码
    12. SQLite中文乱码问题 11/7672 嵌入式系统 2010-03-07
      引用 4 楼 mxm1986 的回复: wince上面不都是那个Unicode吗???你怎么看得了UTF-8呢?你在哪里看的啊??
      你可以用管理工具 SQLite Expert personal 看数据库的各种信息
    13. EVC 中按钮贴图 怎么做 7/3558 嵌入式系统 2010-03-01
      想做好的效果,就不要用系统自带的控件或类 直接在窗体上帖图,响应鼠标按下消息
    14. uchar key;//可能需要bdata uchar key sbit  key1=key^0; sbit  key2=key^1; fongneng1(void) { while(功能ID==1) { ...........; ...........; if(key1==1) {   XXXXX;//按键处理   key1=0; } if(key2==1) {   xxxxxx;//按键处理   key2=0 } } } gongneng2(void) {   while(功能id==2)   {   if(key1==1)   {     xxxxxxx;//     key1=0;    }   if(key2==1)    {      xxxxxxxx;      key2=0;     }    } } gongneng3(void) { } gongneng4(void) { } main() {   switch(功能id) {   case 1: {gongneng1();}break;   case 2:{ ..... ...... 定时器里面的按键扫描处理就自己根据电路写了 我一直不知道论坛里怎么嵌入C CODE
    15. wince6.0下街机模拟器 12/5642 嵌入式系统 2010-01-26
      ding
    16. 如何确定NAND Flash的分区大小 16/7180 嵌入式系统 2009-11-19
      不赞同是由NK的大小来决定分界点,应该是在BSP中有个参数设置来确定文件系统区的起始地址。
    17. window mobile中 static text控件透明问题 5/3829 嵌入式系统 2009-10-20
      我找到了这个连接,解释了为何会出现这种情况,提供了一种备选方法。试过了是可行的。http://windowsmobiledn.com/qa-how-to-make-static-controls-transparent/
    18. 关于wince5.0英文版模拟器 中文的问题 16/7017 嵌入式系统 2009-09-30
      将 OracleConnection的Unicode 设置成true,就可以了。不需要别的设置了。 把分给我吧。
    19. 六十大庆,散分! 80/17382 嵌入式系统 2009-09-26
      同庆同庆,o(∩_∩)o...
    20. STM32的优势主要有哪些? 15/19051 stm32/stm8 2009-08-28
                                       ---------------性价比 香版应该说重点,其他的应该让用户去研究spec

最近访客

< 1/1 >

统计信息

已有96人来访过

  • 芯积分:--
  • 好友:--
  • 主题:10
  • 回复:65

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言