Mcp23s17を複数利用する場合

MCP23S17を2個利用してスイッチパネルを作成しようと考えています。
1個での利用はサンプルプログラムが正常に動作しているのを確認しました。
mbedのNUCLEO-F303K8をターゲットに、オンラインコンパイラでプログラムしています。
ICのライブラリは以下のものです。

・問題
ボタンを一つしか押していないのに、結果を示す数値が2個とも同じ値になってしまいます。
例:「chip1=ffcf, chip2=ffcf」

#include "mbed.h"
#include "MCP23S17.h"
SPI spi(PA_7, PA_6, PA_5);//(mosi, miso, sclk);
MCP23S17 chip1(spi, PA_4, 0x40);//A0=A1=A2=GND
MCP23S17 chip2(spi, PA_4, 0x42);//A0= 3.3V, A1=A2=GND
DigitalOut Reset(PB_4);//
char port[]={0,0,0,0};
int main() {
    Reset = 0;
    wait(0.05);
    Reset = 1; 
    chip1.direction(PORT_A, 0xFF);//input setting
    chip1.direction(PORT_B, 0xFF);//input setting
    chip2.direction(PORT_A, 0xFF);//input setting
    chip2.direction(PORT_B, 0xFF);//input setting
    chip1.configurePullUps(PORT_A, 0xFF);//pullup setting
    chip1.configurePullUps(PORT_B, 0xFF);//pullup setting
    chip2.configurePullUps(PORT_A, 0xFF);//pullup setting
    chip2.configurePullUps(PORT_B, 0xFF);//pullup setting
    while (1) {
        port[0] = chip1.read(PORT_A);
        port[1] = chip1.read(PORT_B);
        port[2] = chip2.read(PORT_A);
        port[3] = chip2.read(PORT_B);
        printf("chip1=%0x%0x, chip2=%0x%0x\r\n",port[0],port[1],port[2],port[3]);
        wait(0.2);
    }
}

このICを使用したことがないので原因を断定できませんが、SPIで利用する場合にはCS端子がローレベルでICがアクティブとなります。
従って、同じPA_4で2つのICのCS端子を駆動するとIC2個ともにアクティブになっていると思われます。
PA_4をchip1に残し、chip2のCSを別ポートで駆動して、症状を確認することをおすすめします。

おっしゃるとおりで回路とプログラムを確認するとCSを共有していました。
別々のピンを指定してもう一度トライしてみます。ご回答頂き感謝いたします。