Thông báo

Collapse
No announcement yet.

Cùng nhau trao đổi về STM8

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Nguyên văn bởi viettoan151 Xem bài viết
    10Mhz chắc chỉ là xung clock làm việc cho cpu
    còn muốn blink led thì tất nhiên phải đảo trạng thái rồi.
    chứ led mà nháy 10Mhz thì làm sao bạn thấy được
    Cấu hình 10MHz là tốc độ lớn nhất mà chân đó có thể xuất xung ra, chứ không phải như kiểu PWM cứng bạn nhé.

    Comment


    • #32
      Hi all, mọi người cho mình hỏi là thư viện Touch sensing library của STM8 có dùng được cho tất cả STM8 không hay cần phải có phần cứng trong chip mới dùng được, vì mình thấy nó có RC (Resistor - Cap) và CT (Charge Transfer) nên không biết là con nào cũng xài được hay sao (VD con STM8S003F3P6 (thần thánh) có được ko?)!
      Với khi làm mạch thì thiết kê cái nút touch sensing đó như thế nào cho chuẩn a5h!

      Thanks all!

      Comment


      • #33
        Nguyên văn bởi designer Xem bài viết
        Hi all, mọi người cho mình hỏi là thư viện Touch sensing library của STM8 có dùng được cho tất cả STM8 không hay cần phải có phần cứng trong chip mới dùng được, vì mình thấy nó có RC (Resistor - Cap) và CT (Charge Transfer) nên không biết là con nào cũng xài được hay sao (VD con STM8S003F3P6 (thần thánh) có được ko?)!
        Với khi làm mạch thì thiết kê cái nút touch sensing đó như thế nào cho chuẩn a5h!

        Thanks all!
        Đã kêu nó là thần thánh thì cái gì mà chẳng làm được ! ... sao không thử đi !
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment


        • #34
          Chào anh Quế Dương, em làm mạch thủ công (1 lớp dùng pp ủi) nên không biết cách đi dây touch key với shield như thế nào nữa, chỉ thấy ST đề nghị độ rộng touch key là 6mm, với sao cái shield của nó cách ly (không phải là) mass board, em tưởng là mass board chứ. Rồi nó đi vô MCU là 2 chân hay 1 vậy anh?!
          Hix, không biết trình bày sao, lung tung quá, túm lại em đang nghĩ là từ cái touch key rộng 6mm đi dây thẳng vô MCU (qua trở tụ gì đó), rồi vòng bao bên ngoài là mass giống như phủ đồng vậy, không biết có đúng không ạh! Như vậy chân 1 của cáii socket nối đi đâu ạh!

          Thanks all!

          Click image for larger version

Name:	capsense_schem.jpg
Views:	1
Size:	77.0 KB
ID:	1396977

          Comment


          • #35
            Bạn nên coi lại phân loại họ nhà STM8, nó có serial chuyên cho Touch, mấy thằng dòng S như STM8S105xx thấy hỗ trợ Touch đó( điển hình là cái Board Discovery STM8S). Khi làm Touch thì cần có:
            - Phần Touch lớp TOP tiếp xúc với ngón tay. Sẽ có 1 wire Touch chạy từ phần này về với Pin Touch trên MCU.
            - Phần phủ mass Touch lớp dưới.
            - Phải là board 2 lớp cho nó ổn định và chuyên nghiệp.
            - 1 lớp điện dung( mica 1mm hay đại loại) ngăn cách giữa lớp Touch TOP và ngón tay .
            Hy vọng bạn tưởng tượng đc, mà trên google nó vẽ cụ thế và ĐẸP thế thì lại ko xem cho kĩ


            Add: 97 Quán Nam - Lê Chân - Hải Phòng.
            Tel: 031 518648 Phone: 0904 283 505

            Comment


            • #36
              Chào bạn Đại, tham khảo cách vẽ touch key mình cũng GG rồi, khổ cái là toàn vẽ 2 lớp, mình làm thủ công để nghịch chơi nên chỉ làm được 1 lớp thôi bạn àh.
              Hình như là tất cả stm8 đều làm touch được, có mấy dòng thì hỗ trợ tốt hơn, vì nó có thêm phần cứng CAPCOMPx chứ không phải mấy con kia không chơi được.
              Mình đang thắc mắc về cách vẽ touch key trên board 1 lớp, cái shield bo quanh bên ngoài là nó nối mass hay là đi vô 1 chân khác của stm8, xem mấy sơ dồ nguyên lý của stm thì nó đưa vô stm, đặt tên là LOAD, shield gì đó!

              Have fun!

              Comment


              • #37
                Nếu là 1 lớp thì thằng bao ngoài phải là mass, phần touch bên trong. 1 lớp thì bạn cần có 1 tụ nối pin touch // với mass, tùy vào cơ chế nhận touch mà bạn lựa chọn tụ hay ko có tụ. Có vài cách để nhận biết Touch. Bạn nên tham khảo thêm phần Touch của bọn TI, mô tả rất đầy đủ và hd rất kĩ. Hy vọng bạn sớm thành công.


                Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                Tel: 031 518648 Phone: 0904 283 505

                Comment


                • #38
                  Hi all, mọi người cho mình hỏi ngu xíu ạh :
                  Với trình biên dịch STVP thì nó lưu các biến, mảng, giá trị vào đâu ạh, Flash hay Eeprom vậy?
                  Mình khai báo 1 mảng const unsigned char Picture[] = {//500 byte} thì nó không báo lỗi gì,
                  Khi khai báo mảng unsigned char font6_8[][6] = {//250byte}, khi > 250 byte là nó báo lỗi tràn (#error clnk Release\test.lkf:1 segment .ubsct size overflow) , khai báo y như vầy với Keil thì bính thường.
                  Àh, mình có 1 câu hỏi nữa là khi chọn chip thì STVP nó có biết để tự giới hạn bộ nhớ (bộ nhớ dữ liệu, chương trình, ...) cho mình không ạh?!

                  Thanks all!

                  Comment


                  • #39
                    IAR for STM8 cũng thấy tốt.


                    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                    Tel: 031 518648 Phone: 0904 283 505

                    Comment


                    • #40
                      Đúng là do thằng STVP cùi bắp, nhưng thằng IAR nó làm trực tiếp trên thanh ghi nên mình không quen bạn àh, ngoài STVP và IAR còn trình dịch nào tốt hơn không bạn?!

                      Thanks all!

                      Comment


                      • #41
                        Nguyên văn bởi designer Xem bài viết
                        Đúng là do thằng STVP cùi bắp, nhưng thằng IAR nó làm trực tiếp trên thanh ghi nên mình không quen bạn àh, ngoài STVP và IAR còn trình dịch nào tốt hơn không bạn?!

                        Thanks all!
                        No_Nó sài bộ thư viện của ST đc. Y kiểu KeilC ARM ấy.


                        Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                        Tel: 031 518648 Phone: 0904 283 505

                        Comment


                        • #42
                          Vậy hả bạn, cảm ơn bạn, vậy phải thử trên IAR mới được, chứ phần báo lỗi của STVP cùi bắp quá!
                          Mà có ai biết mấy cái biến, mảng trình biên dịch nó lưu vào đâu không ạh, giải thích giúp mình với!

                          Thanks all!
                          Last edited by designer; 29-07-2014, 20:02.

                          Comment


                          • #43
                            Mình test lại cái UART trên stm8S003 bằng IAR sao mới chỉ có đơn giản là UART mà nó đã ngốn hết gần 8K code rồi ??? ai giải thích vụ này xem cái. Thậm chí chỉ có cái led nhấp nháy cũng tốn mấy trăm byte bộ nhớ, chọn option tối ưu nó cũng chẳng giảm là bao ...
                            Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                            Comment


                            • #44
                              Nguyên văn bởi queduong Xem bài viết
                              Mình test lại cái UART trên stm8S003 bằng IAR sao mới chỉ có đơn giản là UART mà nó đã ngốn hết gần 8K code rồi ??? ai giải thích vụ này xem cái. Thậm chí chỉ có cái led nhấp nháy cũng tốn mấy trăm byte bộ nhớ, chọn option tối ưu nó cũng chẳng giảm là bao ...
                              E sài BT mà, cả I2C, ADC, Usart mà có thấy over đâu. Dùng cũng ổn lắm, còn a yêu cầu cao hơn thì e cũng đành bó tay, ko giải thích nổi cho anh


                              Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                              Tel: 031 518648 Phone: 0904 283 505

                              Comment


                              • #45
                                Nguyên văn bởi hoangdai Xem bài viết
                                E sài BT mà, cả I2C, ADC, Usart mà có thấy over đâu. Dùng cũng ổn lắm, còn a yêu cầu cao hơn thì e cũng đành bó tay, ko giải thích nổi cho anh
                                Thì 8K code cũng phải viết được vô tư chứ , chú test hộ anh cái chương trình này rồi đóng gói project hộ anh cái , cái máy 2 ngày nay bị bọn vi rút tứ tung ... Hay là vắc xin phản tác dụng rồi !

                                ( IAR đang dùng bản 1.41 - 1.42 vắc xin download ở trang của Tàu Khựa ) trước dùng bình thường mà giờ thì ... !

                                Code:
                                
                                /* Includes ------------------------------------------------------------------*/
                                #include "stm8s.h"
                                #include "stdio.h"
                                #include "stm8s_uart1.h"
                                #include "stm8s_clk.h"
                                #include "stm8s_gpio.h"
                                
                                int putchar (int c);  // functions Putchar --> UART
                                int getchar (void);   // functions Getchar --> UART
                                char echo;
                                void main(void)
                                {
                                
                                  /*High speed internal clock prescaler: 1*/
                                    CLK_DeInit();
                                    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);      //f_Master = HSI/1 = 16MHz
                                    CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);            //f_CPU = f_Master/1 = 16MHz
                                    while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY)!=SET);     //wait until HSI ready
                                    
                                    GPIO_DeInit(GPIOA);
                                    GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);   
                                
                                    UART1_DeInit();
                                  /* UART1 configuration ------------------------------------------------------*/
                                  /* UART1 configured as follow:
                                        - BaudRate = 9600 baud  
                                        - Word Length = 8 Bits
                                        - One Stop Bit
                                        - No parity
                                        - Receive and transmit enabled
                                        - UART1 Clock disabled
                                  */
                                  UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,
                                              UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
                                
                                  
                                  
                                  while (1)
                                  {
                                    echo = getchar();
                                    printf("%c", echo);  
                                    GPIO_WriteReverse(GPIOA, GPIO_PIN_3);      //Toggle LED
                                  }
                                }
                                
                                /////////////////////// Functions /////////////////////////////////
                                
                                int putchar (int c)
                                {
                                  // Write a character to the UART1 
                                  UART1_SendData8(c);
                                  // Loop until the end of transmission 
                                  while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
                                
                                  return (c);
                                }
                                ///////////////////
                                
                                int getchar (void)
                                {
                                  int c = 0;
                                  // Loop until the Read data register flag is SET 
                                  while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET);
                                    c = UART1_ReceiveData8();
                                  return (c);
                                }

                                Cảm ơn trước !
                                Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                                Comment

                                Về tác giả

                                Collapse

                                sugus Tìm hiểu thêm về sugus

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X