2018年12月22日 星期六

安裝TrueSTUDIO並整合STM32CubeMX

下載

  1. TrueSTUDIO (https://atollic.com/resources/download/)
  2. STM32CubeMX Eclipse plug (The latest) (4.27.0)

Reference


安裝

在之前STM32Cube介紹的文章裡面提過
STM32CubeMX支持MDK, IAR和TrueSTUDIO等多種Toochain
TrueSTUDIO已經被ST收購,並且完全 免費
它還能安裝Plugin將STM32CubeMX整合到軟體裡

(STM32CubeMX安裝請參考STM32Cube 5.0.0下載安裝)
開始安裝TrueSTUDIO



這邊是看你使用ST-Link還J-Link,我是兩個都裝



安裝driver






開始安裝TSTM32CubeMX Plugin
打開TrueSTUDIO後先設定workspace目錄要存哪


 進到TrueSTUDIO後,再從Help -> Install New Software安裝下載好的Plugin

輸入你要顯示的名稱,接著選擇Plugin存放的位置






安裝完後重新開啟TrueSTUDIO

重啟後首頁是Information Center,這個可以關掉
要再打開可以從Help -> Informatrion Center打開

Information Center關掉後就會顯示程式編輯視窗
接著把剛剛裝好的STM32CubeMX Plugin打開
從Windows -> Perspective -> Open Perspective -> Other進入

選擇你剛剛輸入的顯示名稱
我剛輸入
STM32CubeMX,所以就選擇STM32CubeMX

完成


2018年12月14日 星期五

google spreadsheet抓取個股當月歷史股價

之前有分享Python抓取個股當月歷史股價
如果沒有Python環境的話,也可以用google spreadsheet來抓
利用
IMPORTDATA這個函數
只要將網址代入這個函數就能完成
例如我們要抓取2330的2018/12/01月的整月股價
就在A1輸入以下文字就完成了

=importData("http://www.twse.com.tw/exchangeReport/STOCK_DAY?response=csv&date=20181214&stockNo=2330")

如果要抓取別的月份就把網址裡的data改掉,例如2018/11月(日期隨便)就是date=20181101
如果要抓取別的股票就把網址裡的stockNo改掉,例如中鋼2002就是stockNo=2002

2018年12月13日 星期四

把STM324x9I-EVAL的printf轉到debug viewer顯示

STM324x9I-EVAL的LWIP + RTOS預設是輸出到LCD上

我想要把訊息轉成輸出到debug viewer上
這邊用
LwIP_UDPTCP_Echo_Server_Netconn_RTOS這個範例和uVision來修改

1. 打開專案後進到Options for Target設定




2. 把main.h裡面的#define USE_LCD這行Comment掉
//#define USE_LCD

3. 把lcd_log.c裡面的LCD_LOG_PUTCHAR整段Comment掉

4. 把lcd_log_conf.h裡面Redirect the printf to the LCD下面那段整段Comment掉
///* Redirect the printf to the LCD */
//#ifdef __GNUC__
///* With GCC, small printf (option LD Linker->Libraries->Small printf
//   set to 'Yes') calls __io_putchar() */
//#define LCD_LOG_PUTCHAR int __io_putchar(int ch)
//#else
//#define LCD_LOG_PUTCHAR int fputc(int ch, FILE *f)
//#endif /* __GNUC__ */

5. 接著一樣在lcd_log_conf.h裡面加入以下程式
#define ITM_Port8(n)    (*((volatile unsigned char *)(0xE0000000+4*n)))
#define ITM_Port16(n)   (*((volatile unsigned short*)(0xE0000000+4*n)))
#define ITM_Port32(n)   (*((volatile unsigned long *)(0xE0000000+4*n)))
#define DEMCR           (*((volatile unsigned long *)(0xE000EDFC)))
#define TRCENA          0x01000000

struct __FILE { int handle;};
FILE __stdout;
FILE __stdin;

int fputc(int ch, FILE *f)
{
    if (DEMCR & TRCENA)
    {
        while (ITM_Port32(0) == 0);
        ITM_Port8(0) = ch;
    }
    return(ch);
}

6. 在main.c的SystemClock_Config後面加入debug訊息
printf("  test\n\r");

7. Rebuild後接著Ctrl + F5進入Debug

8. 進入Debug後打開Debug viewer
    單步執行到加入printf的地方就能看到訊息輸出在右邊的Debug viewer視窗


2018年12月10日 星期一

Python抓取個股當月歷史股價

利用Python抓取個股當月歷史股價
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Phrase stock history
"""

import pandas as pd
import urllib
import sys
import json
import datetime


def getdate():
    ''' 回傳正確的西元年月日格式 '''
    #年
    year = datetime.datetime.today().strftime('%Y')
    #月
    month = datetime.datetime.today().strftime('%m')
    #日
    day = datetime.datetime.today().strftime('%d')
    #年月日
    todaydate = year + month + day
    return todaydate

if __name__ == "__main__":
    #股票代碼
    STOCK_NUM = "2330"
    ad_date = getdate()
    url = 'http://www.twse.com.tw/exchangeReport/STOCK_DAY?date=' + ad_date + '&stockNo=' + STOCK_NUM
    #以下是google到的顯示繁中編碼問題,忘記哪邊抓的(有人知道請告訴我,我補上出處)
    req = urllib.request.urlopen(url)
    encoding = req.headers.get_content_charset()
    raw = req.read().decode(encoding).encode(sys.stdin.encoding, 'replace').decode(sys.stdin.encoding)
    #把抓到的資料轉成list
    raw_list = json.loads(raw)
    df = pd.DataFrame.from_records(raw_list['data'], columns=raw_list['fields'])
    #存成csv
    df.to_csv('Result.csv',index=False,encoding="utf_8_sig")


結果如下
有時好像會被擋,請謹慎使用

2018年12月3日 星期一

STM32Cube 5.0.0下載安裝

下載

  1. STM32CubeMX (The latest) (4.27.0)
2018/12/14 - 補上5.0.0使用心得
5.0.0編輯界面大幅修改
把設定都擺在同一個畫面裡
我的15吋NB使用起來非常的辛苦
所以後來又換回4.27版


安裝

 下載並解壓縮後,開始依以下圖示安裝


第二項是問要不要給ST收集資料








這邊會再問一次要不要給ST收集使用者資料

安裝完打開STM32Cube就會看到主畫面
選擇右方的INSTALL/REMOVE開始安裝Embedded software library


進來後先按一下下方的Refresh

接著選擇你要安裝哪一個系列的Embedded software包
這邊我選擇安裝STM32CubeF4



裝完後,前面會顯示綠色,Installed Version也顯示版本,表示安裝成功

安裝好的軟體包是放在C:\User\[您的account]\STM32Cube\Repository下
壓縮檔安裝完並不會自行刪除,請自行刪除
裡面有不同的資料夾與範例,詳細可以參考文末的參考文件



Reference

1. UM1730: Getting started with STM32CubeF4 MCU Package for STM32F4 Series
2. AN4739: STM32Cube firmware examples for STM32F4 Series