2017年9月4日 星期一

9/4日 英雄聯盟 LOL 更新後錯誤 開不起來 無限修復

英雄聯盟 LOL 更新後錯誤 invalid parameter. 0x800000a

22:00已經可以更新了~更新後就好了
今天更新完忽然出現問題,爬一下有幾種狀況
  • 0x800000a
  • 0x800000b
  • 直接開不起來提示修復
  • 還有一種沒關遊戲的,不要離開遊戲還能玩
我的是第三種的直接開不起來提示錯誤要我修復,前兩種錯誤試試看或許可以。
我是修復完畢還是一樣不能開提示修復,然後重新指定安裝位置才成功開上去。
就先修復一次,然後重新指定位置,指定位置按下去之後位置就是對的了,直接按右下選擇資料夾即可。
圖中 .gpipe 不小心選到的,不用點他不然會變成選那個資料夾,進去 LolTW 之後什麼都不要選直接按選擇,或者在上一層選擇 LolTW

方法二

巴哈看到有人關閉GGC,然後對著捷徑按右鍵管理員開啟就好了。
搜尋這裡可以按右鍵有管理員

方法三

我的另一台電腦舊版的ggc直接更新就可以玩了
舊版的安裝檔案在LOL的路徑上有一份,如果沒有可以從這裡下載
舊版的路徑要從這裡設定,直接開啟這個檔案
出現錯誤的話就是缺少下面那個xml檔案,在temp裡面拉出來改名消除backup改成一樣檔名就好了

2017年8月25日 星期五

新版的gitbook怎麼使用markdown編輯、切割編輯室窗

新版的gitbook怎麼使用markdown編輯、切割編輯室窗

乾~在右下角的問號裡拉,長這麼小真的很難找QuQ

2017年8月24日 星期四

STM32F469I GPIO 基本的按鈕與LED控制 彙總整理

STM32F469I GPIO 基本的按鈕與LED控制 彙總整理

前面兩篇介紹
  1. STM32F469I GPIO 基本的閃爍控制
  2. STM32F469I GPIO 基本的按鈕控制
這篇彙整一下順變仿照官方的函式打造了D0~D15的使用模式
整串貼進去官方GPIO範例程序內的 main 之上即可。

使用方式範例

D15 沒有接地時 D2 D3 亮起
下面貼在 main 內
  BSP_LED_Init(LED1);
  BSP_LED_Init(LED2);
  BSP_LED_Init(LED3);
  BSP_LED_Init(LED4);
  // 初始化 ArD 腳位為 OUT
  Ard_LED_Init(ArD2);
  Ard_LED_Init(ArD3);
  // 初始化 ArD 腳位為 IN
  Ard_PB_Init(ArD15);

  while(1)
  {
    /* 按鈕 */
    if(Ard_PB_GetState(ArD15) == PB_RESET)
    {
      /* 按住 */
      Ard_LED_On(ArD2);
      Ard_LED_On(ArD3);
    }
    else if(Ard_PB_GetState(ArD15) == PB_SET)
    {
      /* 放開 */
      Ard_LED_Off(ArD2);
      Ard_LED_Off(ArD3); 
    }
  }

STM32F469I GPIO 基本的按鈕控制

STM32F469I GPIO 基本的按鈕控制

腳位的部分或LED控制可以參考上一篇
https://charlottehong.blogspot.tw/2017/07/stm32f469i-gpio.html

按鈕初始化

/* UserDefine functions ------------------------------------------------------*/
void User_LED_Init()
{
  // 設定角位(3行都要改)
  uint16_t pin       = GPIO_PIN_4;
  GPIO_TypeDef* port = GPIOB;
  __HAL_RCC_GPIOB_CLK_ENABLE();

  // 初始化
  GPIO_InitTypeDef  GPIO_InitStruct;
  GPIO_InitStruct.Pin = pin;                  // 腳位數字
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 設置為輸出
  GPIO_InitStruct.Pull = GPIO_PULLUP;         // 下拉電阻
  GPIO_InitStruct.Speed = GPIO_SPEED_FAST;    // 速度
  HAL_GPIO_Init(port, &GPIO_InitStruct);

  // 設定起始狀態
  HAL_GPIO_WritePin(port, pin, GPIO_PIN_RESET);
}
與前一章節一樣需要設置 Set port and pin 內的參數三行,這裡設置的事 PB8 也就是 Arduino腳位的 D15 的腳位置。

偵測按鈕

這個直接在放主程式main的 while 回圈內就可以
D15放空或接5V會讓D2 D3亮,D15接地則滅。
if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_8) == PB_RESET)
{
  /* 接地 */
  HAL_GPIO_WritePin(ArD2_GPIO_PORT, ArD2_PIN, GPIO_PIN_SET);
  HAL_GPIO_WritePin(ArD3_GPIO_PORT, ArD3_PIN, GPIO_PIN_SET);
}
else if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_8) == PB_SET)
{
  /* 放開 */
  HAL_GPIO_WritePin(ArD2_GPIO_PORT, ArD2_PIN, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(ArD3_GPIO_PORT, ArD3_PIN, GPIO_PIN_RESET);  
}

2017年8月22日 星期二

OpenCV Mat 導入一為陣列的灰階圖陣列

OpenCV Mat 導入一為陣列的灰階圖陣列

Mat 可以直接讀取圖片
Mat img = imread("img.png");
一般常見格式都能讀取,直接打上完整的檔名就好
如果是已經存到一維的vector陣列內要轉進去可以這樣做
Mat img(1000, 1334, 0); // 圖的寬長
img.data = raw_img.data(); // 指標會指向同一個地方,自己在依狀況處理。

imshow("Image", img);
cvWaitKey(0);

如何存取像素

// 讀圖
IplImage* img01;
img01 = cvLoadImage("kanna.png", 1);

// 讀圖 Mat
Mat kanna = imread("kanna.png");
kanna.at<Vec3b>(30, 20)[0] = 255;
後面的1去找函式有說明,1是彩圖0是灰階圖

2017年8月21日 星期一

2017年8月16日 星期三

CPP 如何引入 C 檔使用

C++ 如何引入 C 檔使用

指令 extern “C” { }

這個指的意思其實就是用C的方式來編譯函式或變數,假如說有一個
void fun(int, int);
C++編譯之後會得到一串名稱為 _fun_int,_int
但是 C 編譯之後只會得到名稱為 _fun
這裡也就就指出了為什麼 C++ 可以多載的原因了。


C++ 引入 C 檔案

如果一份C寫了之後打算給C++使用,就在他的檔頭前後加上這六段即可
// cFile.h

#ifdef  __cplusplus
extern "C" {
#endif

/* 代碼 */

#ifdef  __cplusplus
}
#endif
其實C++ 很大程度的兼容,也可以連考慮都不考慮直接加上就好


C 引入 C++ 檔案

與上面相同


參考